1. 程式人生 > >curl 介紹和基本用法

curl 介紹和基本用法

curl是一個廣泛使用的用來上傳和下載的命令列工具,當然嚴格來講,它還可以有別的用途。對於測試來講,它是Web相關測試非常實用的工具,包括debugging,使用起來非常方便。而且另一方面,因為它是純命令列的工具,所以也可以非常方便的作為一個元件整合到automation或者其他的測試框架裡面,將HTTP/HTTPS/FTP相關的上傳和下載等任務交給它。 最近因為在做web service相關的測試,用到了curl,覺得還不錯,順便給大家介紹一下。


基本的用法示例

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 -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 execute once again will overwrite


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

curl -F password[email protected]/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 "[email protected];type=text/html" url.com  


最後順便說一下,如果是用來做HTTP的測試和除錯,希望有GUI的話,也有不少其它的工具可以選擇,包括Fiddler,JMeter和Firefox的tamper data外掛。

相關推薦

curl 介紹基本用法

curl是一個廣泛使用的用來上傳和下載的命令列工具,當然嚴格來講,它還可以有別的用途。對於測試來講,它是Web相關測試非常實用的工具,包括debugging,使用起來非常方便。而且另一方面,因為它是純命令列的工具,所以也可以非常方便的作為一個元件整合到automation或

SQLite 數據庫介紹基本用法

png 觸發 align rim 嵌入 pan upd 參考 add ? 簡介 SQLite 是一款輕量級的關系型數據庫,同時也是一種嵌入式數據庫,與 Oracle、MySQL、SQL Server 等數據庫不同,它可以內嵌在程序中,是程序中的一個組成部分。所以,經常被應

OKHttp的介紹基本用法

      嗨,大家好。又和大家見面了,今天我和大家一起來學習一下OKHttp。      OKHttp是基於Http協議上的網路通訊,說白了就是Http協議。Http的功能OKHttp都有。那就問題來了,既然有了Http,這 強大的協議,為什麼還需要有OKHttp等將Ht

mq的基本介紹基本用法

1.什麼是MQ,有什麼用? MQ 是message queue ,訊息佇列,也叫訊息中介軟體,遵守JMS(java message service)規範的一種軟體。(同時還有另一個叫AMQP的應用層協議,語言無關性不受產品 語言等限制,rabbitMQ支援這個 ) 是類似

Phoenix 介紹基本用法

Phoenix是構建在HBase上的一個SQL層,能讓我們用標準的JDBC APIs而不是HBase客戶端APIs來建立表,插入資料和對HBase資料進行查詢。Phoenix完全使用Java編寫,作為HBase內嵌的JDBC驅動。Phoenix查詢引擎會將SQL

強大的curl命令的介紹一般用法

curl,全稱CommandLine URL 或 CommandLine Uniform Resource Locator,顧名思義,curl命令是在命令列方式下工作,利用URL的語法進行資料的傳輸或者檔案的傳輸。 這個命令列工具現在多用於Unix和Linux作業系統,是一

C#多線程之旅(1)——介紹基本概念

隔離 cnblogs 影響 3-0 同時 ima 並行 logic mes 閱讀目錄 一、多線程介紹 二、Join 和Sleep 三、線程怎樣工作 四、線程和進程 五、線程的使用和誤用 原文地址:C#多線程之旅(1)——介紹和基本概念 C#多線程之旅目錄: C#

chipmunk 物理引擎的基本概念基本用法

num 碰撞回調 2.0 ddb mat sha print 單獨 得出 chipmunk是一個開源2D物理引擎, 項目主頁:http://code.google.com/p/chipmunk-physics/ 工作需要研究了一下,這個引擎的資料還是不多,我閱讀了

shell介紹基本用法

shell alias 重定向8.1:shell介紹:shell是一個命令解釋器,提供用戶和機器之間的交互,支持特定語法,支持邏輯判斷、循環,並且每個用戶都可以有自己的shell:Centos默認的shell是bash(Bourne Agin Shell):其實為了紀念sh的創造者bourne這個用戶

set的特性基本用法——python3.6

技術 card pda 測試 display pla 不能 差集 pytho 特性 無序,不重復的數據組合,用{}表示,eg:{1,2,3,4,5,6} 用途 去重,把一個列表變成集合,就自動去重了 關系測試,測試兩組數據之間的交集,差集,並集,對稱差集,包含

【推薦系統篇】--推薦系統介紹基本架構流程

方案 排序 技術分享 企業 生成 線上 系統 src 測試數據 一、前述 推薦系統是企業中常用的技術,所以系統的掌握推薦系統的知識是很有必要的。本專欄主要講述手機APP下載的項目。 常用的推薦方法有兩個,分別是基於物品的推薦和基於用戶的推薦。 基於用戶的推薦原理是:跟你喜好

iptables的原理基本用法

iptables 原理 基本用法 iptables-----可以將規則組成一個列表,實現絕對詳細的訪問控制功能。一、iptables基礎Iptables中的規則表:規則表的先後順序:raw→mangle→nat→filte規則鏈的先後順序:入站順序:PREROUTING→INPUT出站順序:OUT

Vue學習(2)————————目錄檔案結構介紹基本取值

此檔案是配置檔案,在命令列裡選擇的內容 在裡面也可以顯示 cnpm install 也是根據此檔案來構建依賴 各種依賴包 開發的各種資源  執行專案描述資源 打包配置檔案,讓Ide寫的vue檔案伺服器可以識別 路由配置檔案 Vue裡面的

django之ORM介紹基本用法(一)

  一、ORM介紹 1.什麼是ORM ORM 全拼Object-Relation Mapping. 中文意為 物件-關係對映. 在MVC/MVT設計模式中的Model模組中都包括ORM 2.ORM優勢 (1)只需要面

linux下mongoDB安裝基本用法

安裝mongoDB 1、下載: wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.0.6.tgz 2、解壓: tar -zxvf mongodb-linux-x86_64-3

PHP JpGraph類庫的介紹以及基本用法

JpGraph是一個面向物件的圖形建立庫,用於PHP5(> = 5.1)和PHP7.0該庫完全用PHP編寫,可以在任何PHP指令碼中使用(支援CGI / APXS / CLI版本的PHP),現在最新的版本是4.2.6( JpGraph 4.x系列支援PHP5(PHP 5.1.0或更

Promise物件的含義基本用法

1.Promise的含義 Promise是非同步程式設計的一種解決方案,比傳統的解決方案(回撥函式和事件)更合理更強大。 所謂Promise,簡單說就是一個容器,裡面儲存著某個未來才會結束的事件 (通常是一個非同步操作)的結果。從語法上說,Promise是一

Prettier介紹基本用法

Prettier Prettier的中文意思是“漂亮的、機靈的”,也是一個流行的程式碼格式化工具的名稱,它能夠解析程式碼,使用你自己設定的規則來重新打印出格式規範的程式碼。 Prettier具有以下幾個有優點: 1. 可配置化 2. 支援多種語言

IntelliJ IDEA的介紹基本設定

一、基本介紹    1、由JetBrains公司開發的一系列開發工具:IntelliJ IDEA(java、scala、Groovy開發)、Android Studio(Android開發)、Webstrom(前端開發)    PhpStrom(php開發)、RubyMine

【Android-Emulator】Android模擬器介紹基本使用

接下來講解的是ANDROID模擬器的介紹和使用,最後還有PC電腦和ANDROID模擬器訪問模擬器之間tcp/udp通訊,寫這篇文章大部分是從網路上獲取的資訊,希望對大家有幫助 1、Android模擬器介紹 Android中提供了一個模擬器來模擬ARM核的移動裝置。Andr