Linux curl命令中,HTTP 302處理

2021-05-24 23:24:31 字數 2377 閱讀 1635

在linux中使用curl命令時,偶爾會遇到一些url跳轉到新的url,即http中的3xx(redirection,重定向 )。

$curl -s -i $url > log

這時在返回的報文中,有location欄位標明了新的url。

當我試圖獲取這個新的url,再進行curl時,總是報http 400 (bad request,錯誤的請求)。

直接將新的url列印出來,複製貼上再curl,卻沒有問題 。

百思不得其解!

最後。發現這個新的$url中和「」並不完全相同,$url的結尾多了乙個『0a』換行符。

$echo $url > url_1

$echo > url_2

$hexdump url_1

0000000 7468 7074 2f3a 312f 3238 312e 3831 322e

0000010 312e 2f31 6f79 6b75 2f75 3935 3337 4538

0000020 3244 4637 3335 3834 3831 4239 4144 4336

0000030 4533 3941 302f 3033 3030 3138 3031 3437

0000040 4443 4244 3136 3734 3936 3036 3932 3639

0000050 3243 3434 3132 4541 4438 2d38 3243 3341

0000060 312d 4442 2d39 3437 4341 462d 4235 3730

0000070 4131 3439 3345 2e33 706d 0d34 000a

$hexdump url_2

0000000 7468 7074 2f3a 312f 3238 312e 3831 322e

0000010 312e 2f31 6f79 6b75 2f75 3935 3337 4538

0000020 3244 4637 3335 3834 3831 4239 4144 4336

0000030 4533 3941 302f 3033 3030 3138 3031 3437

0000040 4443 4244 3136 3734 3936 3036 3932 3639

0000050 3243 3434 3132 4541 4438 2d38 3243 3341

0000060 312d 4442 2d39 3437 4341 462d 4235 3730

0000070 4131 3439 3345 2e33 706d 0a34

去掉這個換行符,一切ok

url=`cat log | grep '^location' | cut -f2 -d ' ' |sed 's//r//'

`

linux curl命令詳解

curl是乙個利用url語法在命令列方式下工作的檔案傳輸工具。本文介紹了它的簡單用法。1 獲得一張頁面 2 表單 form 的獲取 在web頁面設計中,form是很重要的元素。form通常用來收集並向 提交資訊。提交資訊的方法有兩種,get方法和post方法。先討論get方法,例如在頁面中有這樣一段...

linux Curl命令使用

鏈結重定向 使用 l 跟隨鏈結重定向,邏輯為 例項 curl l 使用 h 自定義 header 例項1 curl h referer www.example.com h user agent custom user agent 例項2 curl h cookie jsessionid d0112a...

Linux curl命令 常用

1.簡介 curl是乙個利用url規則在命令列下工作的檔案傳輸工具 2.語法 curl option url 3.常見引數 a user agent 設定使用者 傳送給伺服器 b cookie cookie字串或檔案讀取位置 c cookie jar 操作結束後把cookie寫入到這個檔案中 c c...