<?php #test.php #綁定host: www.wolf.com //curl 相關測試 session_start(); $n = isset($_GET['n']) ? intval($_GET['n']) : 1; echo $n, PHP_EOL; empty($_COOKIE) OR $output[] = 'COOKIE:'.print_r($_COOKIE, 1); empty($_POST) OR $output[] = 'POST:'.print_r($_POST, 1); array_walk($_SERVER, function (&$v, $k){ strpos($k, 'HTTP_CUSTOM') === 0 OR $v = ''; }); $output[] = 'CUSTOM_HEADER:'.print_r(array_filter($_SERVER), 1); setCookie('cookie_jar', rand(100,1000), time() + 600); echo implode(PHP_EOL, $output), file_get_contents('php://input');
url 支持多個與基本的正則,見下示例php
curl http://www.wolf.com/work/test.php?n=[1-10]# n=1,n=2...n=10 curl http://www.wolf.com/work/test.php?n=[1-10:3] # 設定步長爲3,n=1,n=4... curl http://www.wolf.com/work/test.php?n={1,3}# n=1,n=3 #結合參數-0使用能夠獲取 curl http://{chdy,www}.wolf.com/work/test.php?n=[1,10] -o /tmp/_#1/_#2.log
請求構造,諸如經常使用header ,cookie ,請求方式,長鏈接、超時控制、重定向、緩存控制緩存
####################### # -H --header 設定單個header,能夠用多個。值爲空的,結尾得用分號 -H "name;" # -A --user-agent 後跟字符串 # -e --referer Referer URL ####################### curl -H "custom-name:chdy" -A "Mozilla/chorm5.6" -e "www.baidu.com" -v http://www.wolf.com/work/test.php ####################### # -c --cookie-jar 將服務端響應的cookie 寫入到文件 # -b --cookie string(多個用分號間隔)或 cookie格式的文件 每一個類型只有一個生效 ####################### curl -c /tmp/wolf.jar http://www.wolf.com/work/test.php curl -b "ca=1;cb=2" -b /tmp//tmp/wolf.jar http://www.wolf.com/work/test.php ####################### # -d --data http post(x-www-form)如 pa=1&pb=2, -G get 方式請求 # --data-binary --data-urlencode --data-ascii 用來傳遞原生的數據 # -m --max-time 最大執行秒數 # -L --location 自動跟蹤重定向 # -K --config 加載配置文件,不用再選項中設定了 # --keepalive-time seconds 長鏈接秒數 # connect-timeout seconds 最大鏈接時長 ####################### curl -d "pa=1&pb=2" http://www.wolf.com/work/test.php
響應構造,諸如保存結果,只保存響應頭,定義輸出內容bash
####################### # -D --dump-header file 將響應頭保存到指定文件 # -I --head 只輸出header響應頭 # -i --include 輸出內容中包含header響應頭 # -N --no-buffer 禁用緩存 # -o --output file 重定向輸出內容到文件 ####################### curl -N -I http://www.wolf.com/work/test.php
是否靜默輸出、打開調試模式cookie
####################### # -s --silent 不輸出任何內容 # -v --verbose 輸出請求和響應的詳細信息 ####################### curl -v http://www.wolf.com/work/test.php