| <?xml version="1.0"?> |
| <!-- |
| ~ Licensed to the Apache Software Foundation (ASF) under one or more |
| ~ contributor license agreements. See the NOTICE file distributed with |
| ~ this work for additional information regarding copyright ownership. |
| ~ The ASF licenses this file to you under the Apache License, Version 2.0 |
| ~ (the "License"); you may not use this file except in compliance with |
| ~ the License. You may obtain a copy of the License at |
| ~ |
| ~ http://www.apache.org/licenses/LICENSE-2.0 |
| ~ |
| ~ Unless required by applicable law or agreed to in writing, software |
| ~ distributed under the License is distributed on an "AS IS" BASIS, |
| ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| ~ See the License for the specific language governing permissions and |
| ~ limitations under the License. |
| --> |
| |
| <!DOCTYPE document |
| [ |
| <!ENTITY sect-num '24'> |
| <!ENTITY hellip "…" > |
| ]> |
| <document id="$Id$" prev="glossary.html" next="history_future.html" > |
| |
| <properties> |
| <title>User's Manual: Curl</title> |
| </properties> |
| |
| <body> |
| |
| <section name="§-num;. Curl" anchor="hints"> |
| <p>This method is to create http requests from curl command. If you want to know more about curl, please click the <a href="https://curl.haxx.se/"> |
| Curl document</a>. |
| </p> |
| <subsection name="§-num;.1 How to enter (a) command(s)" anchor="enter_command"> |
| <p> |
| Create a Test Plan From a cURL Command |
| </p> |
| <ol> |
| <li>To create an import from a cURL, open the <code>Tools</code> menu and click <code>Import from cURL</code>. |
| <figure width="768" height="339" image="curl/choose_curl.png">Figure 1 - The menu where curl is located</figure> |
| </li> |
| <li>There are two ways to enter the curl command line. Firstly, we can enter it manually. Secondly, we can import a file containing the curl command line. |
| This tool supports input of multiple curl command lines at the same time. |
| <figure width="767" height="443" image="curl/enter_command.png">Figure 2.1 - Enter curl command in text panel</figure> |
| <figure width="767" height="449" image="curl/enter_command_from_file.png">Figure 2.2 - Enter curl command from file</figure> |
| </li> |
| <li>Then, click <code>Create Test Plan</code> button and a new HTTP Sample will be added to the Test Plan. |
| <figure width="767" height="464" image="curl/result.png">Figure 3 - result of Test Plan</figure> |
| </li> |
| </ol> |
| </subsection> |
| |
| <subsection name="§-num;.2 Curl options supported" anchor="curl_options"> |
| |
| <dl> |
| <dt><code>-H</code>, <code>--header <header></code></dt> |
| <dd>Extra header to use when getting a web page.</dd> |
| <dt><code>-X</code>, <code>--request <command></code></dt> |
| <dd>Specifies a custom request method to use when communicating with the HTTP server.</dd> |
| <dt><code>--compressed</code></dt> |
| <dd>Request a compressed response using one of the algorithms curl supports, and return the uncompressed document.</dd> |
| <dt><code>-A</code>, <code>--user-agent <agent string></code></dt> |
| <dd>Specify the User-Agent string to send to the HTTP server.</dd> |
| <dt><code>-b</code>, <code>--cookie <name=data></code></dt> |
| <dd>Pass the data to the HTTP server as a cookie.</dd> |
| <dt><code>-d</code> and friends</dt> |
| <dd><p>Sending data via POST request</p> |
| <p>Sends the specified data in a POST request to the HTTP server. If this option is used more than |
| once on the same command line, the data pieces specified will be merged together with a |
| separating '<code>&</code>' character. Thus, using '<code>-d name=daniel -d skill=lousy</code>' would generate a POST |
| chunk that looks like '<code>name=daniel&skill=lousy</code>'.</p> |
| <dl> |
| <dt><code>-d</code>, <code>--data <data></code>, <code>--data-ascii <data></code></dt> |
| <dd>use <code>@</code> to upload a file</dd> |
| <dt><code>--data-raw <data></code>gt;</dt> |
| <dd></dd> |
| <dt><code>--data-raw <data></code></dt> |
| <dd>This posts data exactly as specified with no extra processing whatsoever. |
| If you start the data with the character <code>@,</code> the rest should be a filename.</dd> |
| <dt><code>--data-raw <data></code>ta></dt> |
| <dd>This posts data, similar to the other <code>--data</code> options with the exception that this performs |
| URL-encoding.</dd> |
| <dt><code>--data-raw <data></code></dt> |
| <dd>This posts data similarly to <code>--data</code> but without the special interpretation |
| of the <code>@</code> character.</dd> |
| </dl> |
| </dd> |
| <dt><code>-F</code> and friends</dt> |
| <dd> |
| <p>This lets curl emulate a filled-in form in which a user has pressed the submit button.</p> |
| <dl> |
| <dt><code>-F</code>, <code>--form <name=content></code></dt> |
| <dd>use <code>@</code> to upload a file</dd> |
| <dt><code>--form-string <name=content></code></dt> |
| <dd></dd> |
| </dl> |
| </dd> |
| <dt><code>-u</code>, --user <user:password ></dt> |
| <dd>Specify user and password to use for server authentication.</dd> |
| <dt><code>--basic</code>, <code>--digest</code></dt> |
| <dd>Tells curl to use HTTP authentication.</dd> |
| <dt><code>--cacert</code> and friends</dt> |
| <dd> |
| <p>Tells curl to use the specified client certificate file when getting a file with HTTPS</p> |
| <dl> |
| <dt><code>--cacert <CA certificate></code></dt> |
| <dt><code>--capath <CA certificate directory></code></dt> |
| <dt><code>--ciphers <list of ciphers></code></dt> |
| <dt><code>--cert-status</code></dt> |
| <dt><code>--cert-type <type></code></dt> |
| </dl> |
| </dd> |
| <dt><code>-G</code>, <code>--get</code></dt> |
| <dd>put the post data in the URL and use get to replace post.</dd> |
| <dt><code>--no-keepalive</code></dt> |
| <dd>Disables the use of keepalive messages on the TCP connection.</dd> |
| <dt><code>-e</code>, <code>--referer <URL></code></dt> |
| <dd>Sends the <em>Referer Page</em> information to the HTTP server.</dd> |
| <dt><code>-L</code>, <code>--location</code></dt> |
| <dd>If the server reports that the requested page has moved to a different location |
| this option will make curl redo the request on the new place.</dd> |
| <dt><code>-i</code>, <code>--include</code></dt> |
| <dd>Include the HTTP-header in the output.</dd> |
| <dt><code>--connect-timeout <seconds></code></dt> |
| <dd>Maximum time in seconds that the connection to the server may take.</dd> |
| <dt><code>--keepalive-time <seconds></code></dt> |
| <dd>This option sets the time a connection needs to remain idle before sending keepalive probes |
| and the time between individual keepalive probes.</dd> |
| <dt><code>-m</code>, <code>--max-time <seconds></code></dt> |
| <dd>Maximum time in seconds that you allow the whole operation to take.</dd> |
| <dt><code>-x</code>, <code>--proxy <[protocol://][user:password@]proxyhost[:port]></code></dt> |
| <dd>Use the specified HTTP proxy. If the port number is not specified, |
| it is assumed at port <code>1080</code>.</dd> |
| <dt><code>-U</code>, <code>--proxy-user <user:password></code></dt> |
| <dd>Specify user and password to use for proxy authentication.</dd> |
| <dt><code>-k</code>, <code>--insecure</code></dt> |
| <dd>This option explicitly allows curl to perform <em>insecure</em> SSL connections and transfers.</dd> |
| <dt><code>--raw</code></dt> |
| <dd>When used, it disables all internal HTTP decoding of content or transfer encodings and instead makes them passed on unaltered,raw.</dd> |
| <dt><code>-I</code>, <code>--head</code></dt> |
| <dd>Fetch the HTTP-header only. HTTP-servers feature the method <code>HEAD</code> which this uses to get nothing but the header of a document.</dd> |
| <dt><code>--interface <name></code></dt> |
| <dd>Perform an operation using a specified interface. You can enter interface name, IP address or host name.</dd> |
| <dt><code>--proxy-ntlm</code>/<code>--proxy-negotiate</code></dt> |
| <dd>Tells curl to use HTTP BASIC/NTLM/Digest authentication when communicating with the given proxy.</dd> |
| <dt><code>--dns-servers <addresses></code></dt> |
| <dd>Resolve host name over DOH.</dd> |
| <dt><code>--resolve <host:port:address></code></dt> |
| <dd>Provide a custom address for a specific host and port pair.</dd> |
| <dt><code>--limit-rate <speed></code></dt> |
| <dd>Specify the maximum transfer rate you want curl to use.</dd> |
| <dt><code>--max-redirs <num></code></dt> |
| <dd>Set maximum number of redirections which may be followed.</dd> |
| <dt><code>--noproxy <no-proxy-list></code></dt> |
| <dd>Comma-separated list of hosts which do not use a proxy, if one is specified.</dd> |
| </dl> |
| |
| </subsection> |
| |
| <subsection name="§-num;.3 Warning" anchor="warning"> |
| <p> |
| When the command you entered is ignored or contains warning content, we will display warning in the comment section of HTTP Request. |
| </p> |
| <figure width="768" height="464" image="curl/http_request_warning.png">Figure 1 -Warning</figure> |
| |
| </subsection> |
| <subsection name="§-num;.4 Examples" anchor="example"> |
| <p><b>Use cookie</b><source>curl -X POST "https://example.invalid" -b 'username=Tom;password=123456'</source></p> |
| <p><b>Use data</b><source>curl -X POST "https://example.invalid" --data 'fname=a&lname=b'</source></p> |
| <p><b>Use form</b><source>curl -X POST "https://example.invalid" -F 'lname=a' -F 'fname=b' -F 'c=@C:\Test\test.txt'</source></p> |
| <p><b>Use proxy</b><source>curl 'https://example.invalid/' -x 'https://aa:bb@proxy.invalid:8042'</source></p> |
| <p><b>Use authorization</b><source>curl "https://example.invalid" -u 'user:passwd' --basic</source></p> |
| <p><b>Use DNS</b><source>curl "https://example.invalid" --dns-servers '0.0.0.0,1.1.1.1'</source></p> |
| </subsection> |
| </section> |
| |
| </body> |
| </document> |