`

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); // 包含头部...

    curlcurlcurlcurl

    描述中虽然没有具体信息,但我们可以推测可能是在介绍`curl`的基本使用和功能。`curl`的强大在于它的灵活性和丰富的选项,允许用户定制请求头、设置HTTP方法(GET、POST、PUT等)、处理cookies、进行认证等。 标签`...

    windows 下可以使用curl命令

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

    使用CURL抓取网页数据

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

    使用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使用手册

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

    curl工具支持XP.zip

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

    OpenStack之Curl使用

    综上所述,本篇文档主要介绍了如何使用curl工具来操作OpenStack的keystone API,涵盖了从基础的API调用到具体的业务和管理API测试,以及如何使用curl进行API调试和Swift ReST API操作的相关知识。掌握这些知识点,...

    curl-7.17.0 for win32

    5. `docs`:文档和手册页,介绍curl的使用方法和API参考。 6. `examples`:示例代码,展示了如何在程序中集成curl。 使用curl时,用户通常在命令行输入类似于`curl [选项] [URL]`的命令,其中选项可以指定各种请求...

Global site tag (gtag.js) - Google Analytics