Linux curl命令参数详解--转载
生活随笔
收集整理的這篇文章主要介紹了
Linux curl命令参数详解--转载
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
linux?curl是通過url語法在命令行下上傳或下載文件的工具軟件,它支持http,https,ftp,ftps,telnet等多種協(xié)議,常被用來抓取網(wǎng)頁和監(jiān)控Web服務(wù)器狀態(tài)。
一、Linux curl用法舉例:
1. linux curl抓取網(wǎng)頁:
抓取百度:
?
| 1 | curl http://www.baidu.com |
?
如發(fā)現(xiàn)亂碼,可以使用iconv轉(zhuǎn)碼:
?
| 1 | curl http://iframe.ip138.com/ic.asp|iconv -fgb2312 |
iconv的用法請參閱:在Linux/Unix系統(tǒng)下用iconv命令處理文本文件中文亂碼問題
?
2. Linux curl使用代理:
linux curl使用http代理抓取頁面:
| 1 2 | curl -x 111.95.243.36:80 http://iframe.ip138.com/ic.asp|iconv -fgb2312 curl -x 111.95.243.36:80 -U aiezu:password http://www.baidu.com |
?
使用socks代理抓取頁面:
| 1 2 | curl --socks4 202.113.65.229:443 http://iframe.ip138.com/ic.asp|iconv -fgb2312 curl --socks5 202.113.65.229:443 http://iframe.ip138.com/ic.asp|iconv -fgb2312 |
?
代理服務(wù)器地址可以從爬蟲代理上獲取。
?
3. linux curl處理cookies
接收cookies:
| 1 | curl -c /tmp/cookies http://www.baidu.com #cookies保存到/tmp/cookies文件 |
?
發(fā)送cookies:
| 1 2 | curl -b "key1=val1;key2=val2;" http://www.baidu.com #發(fā)送cookies文本 curl -b /tmp/cookies http://www.baidu.com #從文件中讀取cookies |
?
?
4. linux curl發(fā)送數(shù)據(jù):
linux curl?get方式提交數(shù)據(jù):
| 1 | curl -G -d "name=value&name2=value2" http://www.baidu.com |
?
linux curl?post方式提交數(shù)據(jù):
| 1 2 | curl -d "name=value&name2=value2" http://www.baidu.com #post數(shù)據(jù) curl -d a=b&c=d&txt@/tmp/txt http://www.baidu.com??#post文件 |
?
以表單的方式上傳文件:
| 1 | curl -F file=@/tmp/me.txt http://www.aiezu.com |
?
相當(dāng)于設(shè)置form表單的method="POST"和enctype='multipart/form-data'兩個屬性。
?
5. linux curl http header處理:
設(shè)置http請求頭信息:
| 1 2 3 | curl -A "Mozilla/5.0 Firefox/21.0" http://www.baidu.com #設(shè)置http請求頭User-Agent curl -e "http://pachong.org/" http://www.baidu.com #設(shè)置http請求頭Referer curl -H "Connection:keep-alive \n User-Agent: Mozilla/5.0" http://www.aiezu.com |
設(shè)置http響應(yīng)頭處理:
| 1 2 | curl -I http://www.aiezu.com #僅僅返回header curl -D /tmp/header http://www.aiezu.com #將http header保存到/tmp/header文件 |
?
?
6. linux curl認(rèn)證:
?
| 1 2 | curl -u aiezu:password http://www.aiezu.com #用戶名密碼認(rèn)證 curl -E mycert.pem https://www.baidu.com #采用證書認(rèn)證 |
?
?
6. 其他:
?
| 1 2 | curl -# http://www.baidu.com #以“#”號輸出進度條 curl -o /tmp/aiezu http://www.baidu.com #保存http響應(yīng)到/tmp/aiezu |
?
原文地址:http://www.aiezu.com/system/linux/linux_curl_syntax.html linux 使用curl小經(jīng)驗教訓(xùn): http請求地址的url要使用""括起來。當(dāng)有存在多個參數(shù)使用&連接時可能會出錯。 curl -v "http://localhost:8080/xxxxxx/alive.jsp" 返回完整的報文: * About to connect() to localhost port 8080 (#0) * Trying 127.0.0.1... connected * Connected to localhost (127.0.0.1) port 8080 (#0) > GET /ppcredit_getbill/alive.jsp HTTP/1.1 > User-Agent: curl/7.19.7 (x86_64-redhat-linux-gnu) libcurl/7.19.7 NSS/3.19.1 Basic ECC zlib/1.2.3 libidn/1.18 libssh2/1.4.2 > Host: localhost:8080 > Accept: */* > < HTTP/1.1 200 OK < Server: Apache-Coyote/1.1 < Set-Cookie: JSESSIONID=11FB3734B3043E6C2E4B287C39C82350; Path=/ppcredit_getbill/; HttpOnly < Content-Type: text/html;charset=UTF-8 < Content-Length: 236 < Date: Thu, 31 Aug 2017 11:02:38 GMT < <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>tomcat嫻嬭瘯欏/title> </head> <body ><h1>tomcat is alive錛/h1><hr><table><tr><td>璁塊棶IP</td><td>127.0.0.1</td></tr></table> </body> * Connection #0 to host localhost left intact * Closing connection #0?
轉(zhuǎn)載于:https://www.cnblogs.com/davidwang456/p/4266867.html
總結(jié)
以上是生活随笔為你收集整理的Linux curl命令参数详解--转载的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 从源码角度深入分析ant
- 下一篇: Linux下history命令详解---