`

curl 介绍和基本用法

阅读更多
curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途。对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便。而且另一方面,因为它是纯命令行的工具,所以也可以非常方便的作为一个组件集成到automation或者其他的测试框架里面,将HTTP/HTTPS/FTP相关的上传和下载等任务交给它。
最近因为在做web service相关的测试,用到了curl,觉得还不错,顺便给大家介绍一下。
 
official site: http://curl.haxx.se/ , 目前最新的版本是7.20.0。


基本的用法示例

curl http://www.google.com

curl dict://dict.org/d:test

下面主要介绍一下常用的参数,关于这方面,可以查看它自带的帮助文档。
-V show the version of curl
C:/Tools/curl-7.20.0>curl -V
curl 7.20.0 (i386-pc-win32) libcurl/7.20.0 OpenSSL/0.9.8l zlib/1.2.3
Protocols: dict file ftp ftps http https imap imaps ldap pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS Largefile NTLM SSL SSPI libz



-o [filename], save content to a file
-O use the same name

curl -o g.html www.google.com

curl -O http://www.google.com/intl/en_ALL/images/logo.gif


-i, Include the HTTP-header in the output     
curl -i http://www.google.com

-u username:password
curl -u user:pwd ftp://myftp/Ricky/test.ini

 

-d parameters
curl http://www.yahoo.com/login.cgi?user=nick&password=12345
curl -d "user=nick&password=12345" http://www.yahoo.com/login.cgi


-x  proxy_ip:port, access with proxy

curl -i -x myproxy:8080 -o google_proxy.html http://www.google.com

 

HTTP/1.1 302 Found
Via: 1.0 myproxy
Content-Length: 222
Date: Mon, 22 Mar 2010 14:15:48 GMT
Location: http://www.google.com.tw/
Content-Type: text/html; charset=UTF-8
Cache-Control: private
Set-Cookie: PREF=ID=aa97c3734c862ddf:TM=1269267348:LM=1269267348:S=4FEEGAPNu2FN2lho; expires=Wed, 21-Mar-2012 14:15:48 GMT; path=/; domain=.google.com
Set-Cookie: NID=32=MXKkZjgjiNGVNnPv9w384COa2KJZOLu5v9_5coX_N1tJtaa97-dJUxb7DCz90vQsm0fLEPg0Ee3nXv1yDDcE3ZN0sOu7mq9-mjB9CL0okXGjiIvox2FTcw0HBV7hBaLC; expires=Tue, 21-Sep-2010 14:15:48 GMT; path=/; domain=.google.com; HttpOnly
Server: gws
X-XSS-Protection: 0

 

<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.com.tw/">here</A>.
</BODY></HTML>

 

-r [start-end], such as "-r 0-1024"

curl -i -r 0-1024 -o rfc1.txt http://xml.resource.org/public/rfc/bibxml3/rdf/item.I-D.6man-pmip6-ind.rdf

header:
HTTP/1.1 206 Partial Content
Date: Mon, 22 Mar 2010 13:50:46 GMT
Server: Apache/2.2.15 (Debian)
Last-Modified: Mon, 09 Mar 2009 23:02:11 GMT
ETag: "148be6-466-464b79fe1a2c0"
Accept-Ranges: bytes
Content-Length: 1025
Content-Range: bytes 0-1024/1126
Content-Type: application/rdf+xml

note: not all web server support partial content, or it will response all even you try to get part
curl -i -r 0-1024 http://www.sina.com.cn -o sina_part1.htm

it will give you all the page.

-k insecure SSL , will not check the cert

curl -k https://ip:8445

 

-T upload a file with FTP
curl -T curl.html -u user:pwd ftp://myftp/Ricky/
execute once again will overwrite


-F/--form <name=content>, use for http post

curl -F password=@/etc/passwd www.mypasswords.com

You can also tell curl what Content-Type to use by using 'type=', in a manner similar to: 

curl -F "web=@index.html;type=text/html" url.com  

 
最后顺便说一下,如果是用来做HTTP的测试和调试,希望有GUI的话,也有不少其它的工具可以选择,包括Fiddler,JMeter和Firefox的tamper data插件。

http://blog.csdn.net/superqa/article/details/5418636
分享到:
评论

相关推荐

    curl介绍和基本用法

    curl是一个广泛使用的用来上传和下载的命令行工具,当然严格来讲,它还可以有别的用途。对于测试来讲,它是Web相关测试非常实用的工具,包括debugging,使用起来非常方便。而且另一方面,因为它是纯命令行的工具,...

    curl使用方法及命令的介绍

    以下是对`curl`的一些基本使用方法和命令的详细介绍。 ### 基本用法 在命令行中,`curl`的基本语法是: ```bash curl [选项] [URL] ``` 其中,`选项`用来定制请求行为,`URL`是要访问的资源地址。 ### 常用选项 ...

    Curl.zip_C++ curl_DEMO_c++ curl_curl_curl c++

    2. **CURL库的基本用法**: - 在C++程序中,通过`#include &lt;curl/curl.h&gt;`引入CURL库的头文件。 - 使用`curl_global_init()`初始化CURL库。 - 创建`CURL *curl`对象,代表一个会话。 - 使用`curl_easy_setopt()`...

    everything-curl linux命令curl的用法 英文版

    curl linux命令curl的用法 英文版》和描述《curl命令可用来下载文件,或者模拟http请求,而且支持非常多的协议,这是一篇非常全面的说明,英文文字版》透露了本文所涉及的核心内容是关于Linux环境下curl命令的使用...

    curl在Android中使用的Demo

    首先,我们需要理解`curl`的基本用法。在命令行中,`curl`通过指定URL和各种选项来发起网络请求。例如,发送一个GET请求到某个API接口: ```bash curl http://example.com/api ``` 要发送POST数据,我们可以这样做...

    curl-7.53.1_spendrhy_curl_aix7.1安装curl_

    首先,我们需要理解`curl`的基本用法。在命令行中,你可以通过指定URL来获取网页内容,如`curl http://example.com`。`curl`还支持许多选项,比如`-L`(跟随重定向)、`-v`(显示详细信息)和`-O`(保存远程文件到...

    php下curl用法详解

    本文将深入解析PHP下的cURL用法,以便更好地理解和应用。 1. **初始化cURL会话**: 使用`curl_init()`函数来启动一个新的cURL会话。例如: ```php $curl = curl_init(); ``` 2. **设置cURL选项**: `curl_...

    Curl工具,内含使用方法及实例。

    ### Curl的基本用法 1. **下载文件**: 基本的Curl命令格式是`curl [选项] [URL]`。例如,要下载一个网页,你可以输入`curl http://example.com`。默认情况下,Curl会将内容输出到终端。 2. **保存到文件**: 如果你...

    php的curl封装类用法实例.zip

    封装cURL类的主要目的是将复杂的cURL操作抽象成易于理解和使用的函数或方法,减少代码冗余,提高代码的可读性和可维护性。这样,开发者只需调用类的方法,就能完成网络请求,而无需关心底层的实现细节。 3. **类...

    CUrlHttp封装curl类

    这些方法使得操作更加模块化,易于理解和使用。 2. **HTTP请求方式支持** - **GET请求**:通过CUrlHttp类,可以方便地发起GET请求,获取远程资源。类中可能有一个`get()`方法,接受URL作为参数,内部调用curl的GET...

    curl手册 用curl的

    一个基本的 cURL 使用示例如下: ```php $curl = curl_init(); // 初始化 cURL 对象 curl_setopt($curl, CURLOPT_URL, 'http://cocre.com'); // 设置目标URL curl_setopt($curl, CURLOPT_HEADER, 1); // 包含头部...

    使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib

    使用VC6编译-Curl和LibCurl+ssl+ssh2+zlib libcurl是一个跨平台的开源网络协议库,支持http, https, rtsp等多种协议 。libcurl同样支持HTTPS证书授权,HTTP POST, HTTP PUT, FTP 上传, HTTP基本表单上传,代理,...

    使用CURL抓取网页数据

    首先,我们要了解CURL的基本用法。CURL可以用来发送HTTP请求,获取服务器的响应。例如,使用CURL抓取一个网页的基本命令如下: ```bash curl http://example.com ``` 这会将`http://example.com`的HTML内容打印到...

    curl使用手册

    本手册将详细介绍PHP中cURL的使用方法,包括基本概念、配置选项、常见用法以及实例解析。 ### 1. 安装与配置 在开始使用PHP cURL之前,确保已正确安装并启用cURL扩展。在Linux系统中,通常可以通过运行`php -m`...

    windows 下可以使用curl命令

    标题 "windows 下可以使用curl命令" 暗示了我们讨论的是如何在Windows操作系统环境下使用curl工具。curl是一个强大的命令行工具,用于传输数据到或从服务器,支持多种协议如HTTP、HTTPS、FTP等。在Windows系统中,它...

    ES-CURL命令使用 - 副本.docx

    Elasticsearch-CURL是Elasticsearch日常管理、调试和开发的重要工具,熟练掌握其使用能极大地提高工作效率。需要注意的是,当操作涉及真实数据时,应确保有适当的数据备份和恢复策略,以防止意外的数据丢失或损坏。...

    curl工具支持XP.zip

    本文将详细介绍`curl`工具在XP系统上的使用方法、功能以及一些常见问题的解决策略。 首先,`curl.exe`是`curl`工具的可执行文件,用户可以在命令行中调用它来执行网络操作。为了在XP系统上使用`curl`,你需要将`...

    windows环境下curl工具

    **二、curl基本用法** 1. **HTTP方法**:curl支持常见的HTTP方法,如GET、POST、PUT、DELETE等。例如,发送POST请求: ``` curl -X POST -d "key=value" http://example.com/api ``` 2. **URL参数**:在URL后面...

    curl-master.zip_curl_curl-master_curlconfig-d

    3. **HTTP方法**:了解HTTP的基本方法,如GET、POST、PUT、DELETE等,以及它们在curl中的使用方式。 4. **认证和安全**:curl支持多种身份验证机制,如Basic Auth、Digest Auth,同时,通过SSL/TLS可以确保数据传输...

Global site tag (gtag.js) - Google Analytics