1. 程式人生 > >Linux_Linux Shell 用curl 傳送請求

Linux_Linux Shell 用curl 傳送請求

linux curl是通過url語法在命令列下上傳或下載檔案的工具軟體,它支援http,https,ftp,ftps,telnet等多種協議,常被用來抓取網頁和監控Web伺服器狀態。

一、Linux curl用法舉例:
1. linux curl抓取網頁:

抓取百度:

1 curlhttp://www.baidu.com

如發現亂碼,可以使用iconv轉碼:

1 curlhttp://iframe.ip138.com/ic.asp|iconv -fgb2312
2. Linux curl使用代理

linux curl使用http代理抓取頁面:

1 2 curl-x 111.95.243.36:80http://iframe.ip138.com/ic.asp|iconv -fgb2312 curl -x111.95.243.36:80-U aiezu:password http://www.baidu.com

使用socks代理抓取頁面:

1 2 curl--socks4 202.113.65.229:443http://iframe.ip138.com/ic.asp|iconv -fgb2312 curl --socks5202.113.65.229:443http://iframe.ip138.com/ic.asp|iconv -fgb2312

代理伺服器地址可以從爬蟲代理上獲取。

3. linux curl處理

接收cookies:

1 curl-c /tmp/cookieshttp://www.baidu.com #cookies儲存到/tmp/cookies檔案

傳送cookies:

1 2 curl-b "key1=val1;key2=val2;" http://www.baidu.com #傳送cookies文字 curl -b/tmp/cookieshttp://www.baidu.com #從檔案中讀取cookies
4. linux curl傳送資料:

linux curl 

get方式提交資料:

1 curl-G -d "name=value&name2=value2"http://www.baidu.com

linux curl post方式提交資料:

1 2 curl-d "name=value&name2=value2" http://www.baidu.com #post資料 curl -da=b&c=d&txt@/tmp/txthttp://www.baidu.com  #post檔案

 curl http://192.168.3.14:8078/kafka/detail -d topic=clicki_track_topic&consumer=clicki_track_storm_base

以表單的方式上傳檔案:

1 curl-F file=@/tmp/me.txthttp://www.aiezu.com

相當於設定form表單的method="POST"和enctype='multipart/form-data'兩個屬性。

5. linux curl http header處理:

設定http請求頭資訊:

1 2 3 curl-A "Mozilla/5.0 Firefox/21.0" http://www.baidu.com #設定http請求頭User-Agent curl -e"http://pachong.org/" http://www.baidu.com #設定http請求頭Referer curl-H "Connection:keep-alive \n User-Agent: Mozilla/5.0" http://www.aiezu.com

設定http響應頭處理:

1 2 curl-I http://www.aiezu.com #僅僅返回header curl -D/tmp/headerhttp://www.aiezu.com #將http header儲存到/tmp/header檔案
6. linux curl認證:
1 2 curl-u aiezu:password http://www.aiezu.com #使用者名稱密碼認證 curl -Emycert.pem https://www.baidu.com #採用證書認證
6. 其他:
1 2 curl-# http://www.baidu.com #以“#”號輸出進度條 curl -o/tmp/aiezuhttp://www.baidu.com #儲存http響應到/tmp/aiezu
 原文地址:http://www.aiezu.com/system/linux/linux_curl_syntax.html linux 使用curl小經驗教訓:

http請求地址的url要使用""括起來。當有存在多個引數使用&連線時可能會出錯。

引數講解:

  一,curl命令引數,有好多我沒有用過,也不知道翻譯的對不對,如果有誤的地方,還請指正。

  -a/--append 上傳檔案時,附加到目標檔案

  -A/--user-agent <string>  設定使用者代理髮送給伺服器

  - anyauth   可以使用“任何”身份驗證方法

  -b/--cookie <name=string/file> cookie字串或檔案讀取位置

  - basic 使用HTTP基本驗證

  -B/--use-ascii 使用ASCII /文字傳輸

  -c/--cookie-jar <file> 操作結束後把cookie寫入到這個檔案中

  -C/--continue-at <offset>  斷點續轉

  -d/--data <data>   HTTP POST方式傳送資料

  --data-ascii <data>  以ascii的方式post資料

  --data-binary <data> 以二進位制的方式post資料

  --negotiate     使用HTTP身份驗證

  --digest        使用數字身份驗證

  --disable-eprt  禁止使用EPRT或LPRT

  --disable-epsv  禁止使用EPSV

  -D/--dump-header <file> 把header資訊寫入到該檔案中

  --egd-file <file> 為隨機資料(SSL)設定EGD socket路徑

  --tcp-nodelay   使用TCP_NODELAY選項

  -e/--referer 來源網址

  -E/--cert <cert[:passwd]> 客戶端證書檔案和密碼 (SSL)

  --cert-type <type> 證書檔案型別 (DER/PEM/ENG) (SSL)

  --key <key>     私鑰檔名 (SSL)

  --key-type <type> 私鑰檔案型別 (DER/PEM/ENG) (SSL)

  --pass  <pass>  私鑰密碼 (SSL)

  --engine <eng>  加密引擎使用 (SSL). "--engine list" for list

  --cacert <file> CA證書 (SSL)

  --capath <directory> CA目錄 (made using c_rehash) to verify peer against (SSL)

  --ciphers <list>  SSL密碼

  --compressed    要求返回是壓縮的形勢 (using deflate or gzip)

  --connect-timeout <seconds> 設定最大請求時間

  --create-dirs   建立本地目錄的目錄層次結構

  --crlf          上傳是把LF轉變成CRLF

  -f/--fail          連線失敗時不顯示http錯誤

  --ftp-create-dirs 如果遠端目錄不存在,建立遠端目錄

  --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用

  --ftp-pasv      使用 PASV/EPSV 代替埠

  --ftp-skip-pasv-ip 使用PASV的時候,忽略該IP地址

  --ftp-ssl       嘗試用 SSL/TLS 來進行ftp資料傳輸

  --ftp-ssl-reqd  要求用 SSL/TLS 來進行ftp資料傳輸

  -F/--form <name=content> 模擬http表單提交資料

  -form-string <name=string> 模擬http表單提交資料

  -g/--globoff 禁用網址序列和範圍使用{}和[]

  -G/--get 以get的方式來發送資料

  -h/--help 幫助

  -H/--header <line>自定義頭資訊傳遞給伺服器

  --ignore-content-length  忽略的HTTP頭資訊的長度

  -i/--include 輸出時包括protocol頭資訊

  -I/--head  只顯示文件資訊

  從檔案中讀取-j/--junk-session-cookies忽略會話Cookie

  - 介面<interface>指定網路介面/地址使用

  - krb4 <級別>啟用與指定的安全級別krb4

  -j/--junk-session-cookies 讀取檔案進忽略session cookie

  --interface <interface> 使用指定網路介面/地址

  --krb4 <level>  使用指定安全級別的krb4

  -k/--insecure 允許不使用證書到SSL站點

  -K/--config  指定的配置檔案讀取

  -l/--list-only 列出ftp目錄下的檔名稱

  --limit-rate <rate> 設定傳輸速度

  --local-port<NUM> 強制使用本地埠號

  -m/--max-time <seconds> 設定最大傳輸時間

  --max-redirs <num> 設定最大讀取的目錄數

  --max-filesize <bytes> 設定最大下載的檔案總量

  -M/--manual  顯示全手動

  -n/--netrc 從netrc檔案中讀取使用者名稱和密碼

  --netrc-optional 使用 .netrc 或者 URL來覆蓋-n

  --ntlm          使用 HTTP NTLM 身份驗證

  -N/--no-buffer 禁用緩衝輸出

  -o/--output 把輸出寫到該檔案中

  -O/--remote-name 把輸出寫到該檔案中,保留遠端檔案的檔名

  -p/--proxytunnel   使用HTTP代理

  --proxy-anyauth 選擇任一代理身份驗證方法

  --proxy-basic   在代理上使用基本身份驗證

  --proxy-digest  在代理上使用數字身份驗證

  --proxy-ntlm    在代理上使用ntlm身份驗證

  -P/--ftp-port <address> 使用埠地址,而不是使用PASV

  -Q/--quote <cmd>檔案傳輸前,傳送命令到伺服器

  -r/--range <range>檢索來自HTTP/1.1或FTP伺服器位元組範圍

  --range-file 讀取(SSL)的隨機檔案

  -R/--remote-time   在本地生成檔案時,保留遠端檔案時間

  --retry <num>   傳輸出現問題時,重試的次數

  --retry-delay <seconds>  傳輸出現問題時,設定重試間隔時間

  --retry-max-time <seconds> 傳輸出現問題時,設定最大重試時間

  -s/--silent靜音模式。不輸出任何東西

  -S/--show-error   顯示錯誤

  --socks4 <host[:port]> 用socks4代理給定主機和埠

  --socks5 <host[:port]> 用socks5代理給定主機和埠

  --stderr <file>

-t/--telnet-option <OPT=val> Telnet選項設定

  --trace <file>  對指定檔案進行debug

  --trace-ascii <file> Like --跟蹤但沒有hex輸出

  --trace-time    跟蹤/詳細輸出時,新增時間戳

  -T/--upload-file <file> 上傳檔案

  --url <URL>     Spet URL to work with

  -u/--user <user[:password]>設定伺服器的使用者和密碼

  -U/--proxy-user <user[:password]>設定代理使用者名稱和密碼

  -v/--verbose

  -V/--version 顯示版本資訊

  -w/--write-out [format]什麼輸出完成後

  -x/--proxy <host[:port]>在給定的埠上使用HTTP代理

  -X/--request <command>指定什麼命令

  -y/--speed-time 放棄限速所要的時間。預設為30

  -Y/--speed-limit 停止傳輸速度的限制,速度時間'秒

  -z/--time-cond  傳送時間設定

  -0/--http1.0  使用HTTP 1.0

  -1/--tlsv1  使用TLSv1(SSL)

  -2/--sslv2 使用SSLv2的(SSL)

  -3/--sslv3         使用的SSLv3(SSL)

  --3p-quote      like -Q for the source URL for 3rd party transfer

  --3p-url        使用url,進行第三方傳送

  --3p-user       使用使用者名稱和密碼,進行第三方傳送

  -4/--ipv4   使用IP4

  -6/--ipv6   使用IP6

  -#/--progress-bar 用進度條顯示當前的傳送狀態

  -a/--append 上傳檔案時,附加到目標檔案

  -A/--user-agent <string>  設定使用者代理髮送給伺服器

  - anyauth   可以使用“任何”身份驗證方法

  -b/--cookie <name=string/file> cookie字串或檔案讀取位置

  - basic 使用HTTP基本驗證

  -B/--use-ascii 使用ASCII /文字傳輸

  -c/--cookie-jar <file> 操作結束後把cookie寫入到這個檔案中

  -C/--continue-at <offset>  斷點續轉

  -d/--data <data>   HTTP POST方式傳送資料

  --data-ascii <data>  以ascii的方式post資料

  --data-binary <data> 以二進位制的方式post資料

  --negotiate     使用HTTP身份驗證

  --digest        使用數字身份驗證

  --disable-eprt  禁止使用EPRT或LPRT

  --disable-epsv  禁止使用EPSV

  -D/--dump-header <file> 把header資訊寫入到該檔案中

  --egd-file <file> 為隨機資料(SSL)設定EGD socket路徑

  --tcp-nodelay   使用TCP_NODELAY選項

  -e/--referer 來源網址

  -E/--cert <cert[:passwd]> 客戶端證書檔案和密碼 (SSL)

  --cert-type <type> 證書檔案型別 (DER/PEM/ENG) (SSL)

  --key <key>     私鑰檔名 (SSL)

  --key-type <type> 私鑰檔案型別 (DER/PEM/ENG) (SSL)

  --pass  <pass>  私鑰密碼 (SSL)

  --engine <eng>  加密引擎使用 (SSL). "--engine list" for list

  --cacert <file> CA證書 (SSL)

  --capath <directory> CA目錄 (made using c_rehash) to verify peer against (SSL)

  --ciphers <list>  SSL密碼

  --compressed    要求返回是壓縮的形勢 (using deflate or gzip)

  --connect-timeout <seconds> 設定最大請求時間

  --create-dirs   建立本地目錄的目錄層次結構

  --crlf          上傳是把LF轉變成CRLF

  -f/--fail          連線失敗時不顯示http錯誤

  --ftp-create-dirs 如果遠端目錄不存在,建立遠端目錄

  --ftp-method [multicwd/nocwd/singlecwd] 控制CWD的使用

  --ftp-pasv      使用 PASV/EPSV 代替埠

  --ftp-skip-pasv-ip 使用PASV的時候,忽略該IP地址

  --ftp-ssl       嘗試用 SSL/TLS 來進行ftp資料傳輸

  --ftp-ssl-reqd  要求用 SSL/TLS 來進行ftp資料傳輸

  -F/--form <name=content> 模擬http表單提交資料

  -form-string <name=string> 模擬http表單提交資料

  -g/--globoff 禁用網址序列和範圍使用{}和[]

  -G/--get 以get的方式來發送資料

  -h/--help 幫助

  -H/--header <line>自定義頭資訊傳遞給伺服器

  --ignore-content-length  忽略的HTTP頭資訊的長度

  -i/--include 輸出時包括protocol頭資訊

  -I/--head  只顯示文件資訊

  從檔案中讀取-j/--junk-session-cookies忽略會話Cookie

  - 介面<interface>指定網路介面/地址使用

  - krb4 <級別>啟用與指定的安全級別krb4

  -j/--junk-session-cookies 讀取檔案進忽略session cookie

  --interface <interface> 使用指定網路介面/地址

  --krb4 <level>  使用指定安全級別的krb4

  -k/--insecure 允許不使用證書到SSL站點

  -K/--config  指定的配置檔案讀取

  -l/--list-only 列出ftp目錄下的檔名稱

  --limit-rate <rate> 設定傳輸速度

  --local-port<NUM> 強制使用本地埠號

  -m/--max-time <seconds> 設定最大傳輸時間

  --max-redirs <num> 設定最大讀取的目錄數

  --max-filesize <bytes> 設定最大下載的檔案總量

-M/--manual  顯示全手動

  -n/--netrc 從netrc檔案中讀取使用者名稱和密碼

  --netrc-optional 使用 .netrc 或者 URL來覆蓋-n

  --ntlm          使用 HTTP NTLM 身份驗證

  -N/--no-buffer 禁用緩衝輸出

  -o/--output 把輸出寫到該檔案中

  -O/--remote-name 把輸出寫到該檔案中,保留遠端檔案的檔名

  -p/--proxytunnel   使用HTTP代理

  --proxy-anyauth 選擇任一代理身份驗證方法

  --proxy-basic   在代理上使用基本身份驗證

  --proxy-digest  在代理上使用數字身份驗證

  --proxy-ntlm    在代理上使用ntlm身份驗證

  -P/--ftp-port <address> 使用埠地址,而不是使用PASV

  -Q/--quote <cmd>檔案傳輸前,傳送命令到伺服器

  -r/--range <range>檢索來自HTTP/1.1或FTP伺服器位元組範圍

  --range-file 讀取(SSL)的隨機檔案

  -R/--remote-time   在本地生成檔案時,保留遠端檔案時間

  --retry <num>   傳輸出現問題時,重試的次數

  --retry-delay <seconds>  傳輸出現問題時,設定重試間隔時間

  --retry-max-time <seconds> 傳輸出現問題時,設定最大重試時間

  -s/--silent靜音模式。不輸出任何東西

  -S/--show-error   顯示錯誤

  --socks4 <host[:port]> 用socks4代理給定主機和埠

  --socks5 <host[:port]> 用socks5代理給定主機和埠

  --stderr <file>

  -t/--telnet-option <OPT=val> Telnet選項設定

  --trace <file>  對指定檔案進行debug

  --trace-ascii <file> Like --跟蹤但沒有hex輸出

  --trace-time    跟蹤/詳細輸出時,新增時間戳

  -T/--upload-file <file> 上傳檔案

  --url <URL>     Spet URL to work with

  -u/--user <user[:password]>設定伺服器的使用者和密碼

  -U/--proxy-user <user[:password]>設定代理使用者名稱和密碼

  -v/--verbose

  -V/--version 顯示版本資訊

  -w/--write-out [format]什麼輸出完成後

  -x/--proxy <host[:port]>在給定的埠上使用HTTP代理

  -X/--request <command>指定什麼命令

  -y/--speed-time 放棄限速所要的時間。預設為30

  -Y/--speed-limit 停止傳輸速度的限制,速度時間'秒

  -z/--time-cond  傳送時間設定

  -0/--http1.0  使用HTTP 1.0

  -1/--tlsv1  使用TLSv1(SSL)

  -2/--sslv2 使用SSLv2的(SSL)

  -3/--sslv3         使用的SSLv3(SSL)

  --3p-quote      like -Q for the source URL for 3rd party transfer

  --3p-url        使用url,進行第三方傳送

  --3p-user       使用使用者名稱和密碼,進行第三方傳送

  -4/--ipv4   使用IP4

  -6/--ipv6   使用IP6

  -#/--progress-bar 用進度條顯示當前的傳送狀態

  二,常用curl例項

  1,抓取頁面內容到一個檔案中

  [[email protected] mytest]# curl -o home.html  http://blog.51yip.com

  [[email protected] mytest]# curl -o home.html  http://blog.51yip.com

  2,用-O(大寫的),後面的url要具體到某個檔案,不然抓不下來。我們還可以用正則來抓取東西

  [[email protected] mytest]# curl -O

  [[email protected] mytest]# curl -O

  3,模擬表單資訊,模擬登入,儲存cookie資訊

  [[email protected] mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.PHP

  [[email protected] mytest]# curl -c ./cookie_c.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php

  4,模擬表單資訊,模擬登入,儲存頭資訊

  [[email protected] mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php

  [[email protected] mytest]# curl -D ./cookie_D.txt -F log=aaaa -F pwd=****** http://blog.51yip.com/wp-login.php

  -c(小寫)產生的cookie和-D裡面的cookie是不一樣的。

  5,使用cookie檔案

  [[email protected] mytest]# curl -b ./cookie_c.txt  http://blog.51yip.com/wp-admin

  [[email protected] mytest]# curl -b ./cookie_c.txt  http://blog.51yip.com/wp-admin

  6,斷點續傳,-C(大寫的)

  [[email protected] mytest]# curl -C -O

  7,傳送資料,最好用登入頁面測試,因為你傳值過去後,curl回抓資料,你可以看到你傳值有沒有成功

  [[email protected] mytest]# curl -d log=aaaa  http://blog.51yip.com/wp-login.php

  [[email protected] mytest]# curl -d log=aaaa  http://blog.51yip.com/wp-login.php

  8,顯示抓取錯誤,下面這個例子,很清楚的表明了。

  [[email protected] mytest]# curl -f http://blog.51yip.com/asdf

  curl: (22) The requested URL returned error: 404

  [[email protected] mytest]# curl http://blog.51yip.com/asdf

  <HTML><HEAD><TITLE>404,not found</TITLE>

  。。。。。。。。。。。。

  [[email protected] mytest]# curl -f http://blog.51yip.com/asdf

  curl: (22) The requested URL returned error: 404

  [[email protected] mytest]# curl http://blog.51yip.com/asdf

  <HTML><HEAD><TITLE>404,not found</TITLE>

  。。。。。。。。。。。。

  9,偽造來源地址,有的網站會判斷,請求來源地址。

  [[email protected] mytest]# curl -e http://localhost http://blog.51yip.com/wp-login.php

  [[email protected] mytest]# curl -e http://localhost http://blog.51yip.com/wp-login.php

  10,當我們經常用curl去搞人家東西的時候,人家會把你的IP給遮蔽掉的,這個時候,我們可以用代理

  [[email protected] mytest]# curl -x 24.10.28.84:32779 -o home.html http://blog.51yip.com

  [[email protected] mytest]# curl -x 24.10.28.84:32779 -o home.html http://blog.51yip.com
11,比較大的東西,我們可以分段下載

  [[email protected] mytest]# curl -r 0-100 -o img.part1 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0

  [[email protected] mytest]# curl -r 100-200 -o img.part2 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [[email protected] mytest]# curl -r 200- -o img.part3 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [[email protected] mytest]# ls |grep part | xargs du -sh

  4.0K    one.part1

  112K    three.part3

  4.0K    two.part2

  [[email protected] mytest]# curl -r 0-100 -o img.part1 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100   101  100   101    0     0    105      0 --:--:-- --:--:-- --:--:--     0

  [[email protected] mytest]# curl -r 100-200 -o img.part2 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100   101  100   101    0     0     57      0  0:00:01  0:00:01 --:--:--     0

  [[email protected] mytest]# curl -r 200- -o img.part3 http://blog.51yip.com/wp-

  content/uploads/2010/09/compare_varnish.jpg

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  100  104k  100  104k    0     0  52793      0  0:00:02  0:00:02 --:--:-- 88961

  [[email protected] mytest]# ls |grep part | xargs du -sh

  4.0K    one.part1

  112K    three.part3

  4.0K    two.part2

  用的時候,把他們cat一下就OK了,cat img.part* >img.jpg

  12,不會顯示下載進度資訊

  [[email protected] mytest]# curl -s -o aaa.jpg

  13,顯示下載進度條

  [[email protected] mytest]# curl -# -O

  ######################################################################## 100.0%

  14,通過ftp下載檔案

  [[email protected] ~]$ curl -u 使用者名稱:密碼 -O http://blog.51yip.com/demo/curtain/bbstudy_files/style.css

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136

  [[email protected] ~]$ curl -u 使用者名稱:密碼 -O http://blog.51yip.com/demo/curtain/bbstudy_files/style.css

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current

  Dload  Upload   Total   Spent    Left  Speed

  101  1934  101  1934    0     0   3184      0 --:--:-- --:--:-- --:--:--  7136

  或者用下面的方式

  [[email protected] ~]$ curl -O ftp://使用者名稱:密碼@ip:port/demo/curtain/bbstudy_files/style.css

  [[email protected] ~]$ curl -O ftp://使用者名稱:密碼@ip:port/demo/curtain/bbstudy_files/style.css

  15,通過ftp上傳

  [[email protected] ~]$ curl -T test.sql ftp://使用者名稱:密碼@ip:port/demo/curtain/bbstudy_files/

  [[email protected] ~]$ curl -T test.sql ftp://使用者名稱:密碼@ip:port/demo/curtain/bbstudy_files/
原文出處:http://linux.chinaitlab.com/command/830656.html


相關推薦

Linux_Linux Shell curl 傳送請求

linux curl是通過url語法在命令列下上傳或下載檔案的工具軟體,它支援http,https,ftp,ftps,telnet等多種協議,常被用來抓取網頁和監控Web伺服器狀態。 一、Linux curl用法舉例: 1. linux curl抓取網頁: 抓取百度:

linux shellcurl 傳送post請求json格式問題 【轉】

今天在linux中使用curl傳送一個post請求時,帶有json的資料,在傳送時發現json中的變數沒有解析出來 如下 curl -i -X POST -H 'Content-type':'application/json' -d {"BTime":""$bt

curl傳送請求上傳檔案(multipart file upload)

折騰一下午的問題 第三方介面需要我們傳multipart 上傳檔案 curl一直各種試不成功,用Restlet Client工具總是能成功! 對比傳送的頭,發現工具在Content-Type: multipart/form-data;後面多了個這個boundary 然後去查了下

前臺ajax傳送請求注意點

今天改前臺程式碼的時候,用ajax傳送請求到我的路徑時,直接寫了路徑沒有加專案名稱,這樣子在本地沒有問題,但是在伺服器上就會出錯,因為訪問伺服器的應用時,需要加上應用名稱,而自己寫的路勁沒有接專案名,就會報404錯誤,所以在每一個請求前都寫上${pageContext.request.context

頁面新增漢字ajax傳送請求,資料庫儲存後返回到頁面,重新整理頁面出現亂碼

<bean id="dbcp" class="org.apache.commons.dbcp.BasicDataSource"><property name="username" v

curl傳送請求總結

經常要用到curl,需要呼叫被人的介面,總結了一個好用的方法,下次直接用~~~ public static function postCurl($url,$body,$header,$type="POST"){         //1.建立一個curl資源        

php CURL 傳送請求詳解

cURL可以使用URL的語法模擬瀏覽器來傳輸資料,因為它是模擬瀏覽器,因此它同樣支援多種協議,FTP, FTPS, HTTP, HTTPS, GOPHER, TELNET, DICT, FILE 以及 LDAP等協議都可以很好的支援,包括一些:HTTPS認證,HTTP PO

curl傳送請求簡單實踐

環境 作業系統:win7 伺服器:centos6.5 場景 因為有個指令碼需要模擬瀏覽器傳送api請求,該api是用來初始化資料的。 具體指令碼如下: appKey="TKtXLPUuGkfaRHA" appSecret="aArwoGW9d

Linux--Shell指令碼逐行讀文字處理並curl傳送post請求json格式等問題

問題:Shell指令碼逐行讀取文字,字串分割,Curl傳送Post請求Json格式等相關問題 在linux中使用curl傳送一個post請求時,帶有json的資料,在傳送時發現json中的變數沒有解析出來: curl -d '{"Pin": "${line}"}' -H"

pythonrequests傳送https的請求時,有安全驗證

python用requests傳送https的請求時,有安全驗證,將驗證設定為false 即可verify=False content = {‘login’: ‘1234567890’, ‘password’: ‘123456’} r=requests.post(‘url…login’,

C++ 使用 curl 傳送 json 資料請求

用到的庫: curl nlohmann/json 假設現在 Client 想要獲取 Person 喜歡的語言,需要傳送 Person 的個人資訊到 Server,Server 根據使用者姓名返回他喜歡的語言。 struct Book { std::st

CURL-傳送POST請求

public function curlPost() { $h = curl_init(); curl_setopt($h, CURLOPT_URL, 'http://localhost/zhengze/ze.php'); //post請求地址

【工具】使用 curl 傳送 restful 請求的基礎用法

重要引數 -X/--request [GET|POST|PUT|DELETE|…] 使用指定的http method -H/--header 設定r

PHP: 利用 curl 傳送get請求

/* *傳送CURL get請求 */ function httpGet($url) { $curl = curl_init(); //初始化一個cURL會話。 curl_setopt($curl, CURLOPT_TIMEOUT, 100); //設定cURL允許執行的

HttpURLConnection 在Java後臺傳送請求並接收返回資料

我們通常做Java後臺介面,是讓前端訪問的,讓前端獲取資料或者做增刪改查,但是有時候,我們做的Java介面是讓其他系統的Java後臺呼叫的,讓其他系統從我們這個系統獲取資料或者做業務,這樣就要用到HttpURLConnection。本文寫得急,僅貼出樣例供參考。 (1)先寫

AndroidhttpURLConnection傳送post網路請求並拿到資料

package com.boyouhui.www.http; /**  * 本類發http請求,記著要開網路許可權  *   */ import java.io.ByteArrayOutputStream; import java.io.DataOutputStream; import java.io.IOE

HttpClient之CloseableHttpClient傳送post請求

使用HttpClient傳送請求的一般步驟 (1) 建立HttpClient物件。 (2)建立請求方法的例項,並指定請求URL。如果需要傳送GET請求,建立HttpGet物件;如果需要傳送POST請求,建立HttpPost物件。 (3) 如果需要傳送請求引

python requests傳送get請求並獲取json資料

java進行一次get請求,少說都要洋洋灑灑一兩百行程式碼,建立流,發請求,解析資料,關閉流等等而python就四行業務程式碼    import requests    #請求地址    url = "https://api.global.net/datastore/v1/

php 模擬http傳送請求三種方式(curl,stream流的方式,)

一,curl cURL 是一個用來傳輸資料的工具,支援多種協議,如在 Linux 下用 curl 命令列可以傳送各種 HTTP 請求。PHP 的 cURL 是一個底層的庫,它能根據不同協議跟各種伺服器通訊,HTTP 協議是其中一種。 post請求 public

關閉瀏覽器js監聽, 可向伺服器傳送請求

上傳頁面使用者開始上傳檔案之後使用者點選任意跳轉都需要彈出提示層進行二次確定才允許他進行跳轉,這樣做的目的是為了防止使用者的錯誤操作導致這珍貴的UGC 流失(通常使用者在一次上傳不成功之後,很容易就會打消了上傳的念頭的了,或去到其他平臺進行上傳)。在這裡用到的是 onbefo