【CentOS7】使用命令行訪問網站的工具cURL

【CentOS7】使用命令行訪問網站的工具cURL


簡介 

curl 是瑞典 curl 組織開發的,您可以訪問: http://curl.haxx.se/
獲取它的源代碼和相關說明。

支持很多協議:

FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP。

curl 同樣支持 HTTPS 認證,HTTP POST 方法, HTTP PUT 方法, FTP 上傳, kerberos 認證, HTTP 上傳, 代理服務器, cookies, 用戶名/密碼認證, 下載文件斷點續傳, 上載文件斷點續傳, http 代理服務器管道( proxy tunneling), 甚至它還支持 IPv6, socks5 代理服務器, 通過 http 代理服務器上傳文件到 FTP 服務器等等,功能十分強大。

訪問網頁

使用命令:

curl http://curl.haxx.se

這是最簡單的使用方法。
用這個命令獲得了 http://curl.haxx.se 指向的頁面,同樣,如果這裏的 URL 指向的是一個文件或者一幅圖都可以直接下載到本地。
如果下載的是 HTML 文檔,那麼缺省的將不顯示文件頭部,即 HTML 文檔的 header。
要全部顯示,請加參數 -i,要只顯示頭部,用參數 -I。
任何時候,可以使用 -v 命令看 curl 是怎樣工作的,它向服務器發送的所有命令都會顯示出來。
爲了斷點續傳,可以使用 -r 參數來指定傳輸範圍。

表單(Form)的獲取 

在 WEB 頁面設計中,form 是很重要的元素。

Form 通常用來收集並向網站提交信息。提交信息的方法有兩種,GET 方法和 POST 方法。

###

先討論 GET 方法,例如在頁面中有這樣一段:
<form  method="GET" action="junk.cgi">
<input type=text  name="birthyear">
<input type=submit name=press  value="OK">
</form>
那麼瀏覽器上會出現一個文本框和一個標爲“OK”的按鈕。
按下這個按鈕,表單就用 GET 方法向服務器提交文本框的數據。
例如原始頁面是在 www.hotmail.com/when/birth.html 看到的,然後您在文本框中輸入 1905,然後按 OK 按鈕,
這時瀏覽器的 URL 現在應該是:“www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK”
對於這種網頁,curl 可以直接處理,例如想獲取上面的網頁,只要輸入:

curl "www.hotmail.com/when/junk.cgi?birthyear=1905&press=OK"

就可以了。

###

表單用來提交信息的第二種方法叫做 POST 方法,
POST 方法和 GET 方法的區別在於 GET 方法使用的時候,瀏覽器中會產生目標 URL,而 POST 不會。
類似 GET,這裏有一個網頁:
<form  method="POST" action="junk.cgi">
<input type=text  name="birthyear">
<input type=submit name=press  value="OK">
</form>
瀏覽器上也會出現一個文本框和一個標爲“OK”的按鈕。
按下這個按鈕,表單用 POST 方法向服務器提交數據。

這時的 URL 是看不到的,因此需要使用特殊的方法來抓取這個頁面:

curl -d "birthyear=1905&press=OK" www.hotmail.com/when/junk.cgi

這個命令就可以做到。

1995年年末,RFC  1867 定義了一種新的 POST 方法,用來上傳文件。
主要用於把本地文件上傳到服務器。
此時頁面是這樣寫的:
<form method="POST"  enctype='multipart/form-data' action="upload.cgi">
<input type=file  name=upload>
<input type=submit name=press  value="OK">
</form>

對於這種頁面,curl 的用法不同:
curl -F upload=@localfilename -F press=OK  URL

這個命令的實質是將本地的文件用 POST 上傳到服務器。
有關 POST 還有不少用法,用戶可以自己摸索。

使用 PUT 方法 

使用 PUT 方法

HTTP 協議文件上傳的標準方法是使用 PUT,此時 curl 命令使用 -T 參數:
curl -T uploadfile www.uploadhttp.com/receive.cgi

其他方法,省略……

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章