2013-08-27 35 views
301

重定向我知道,在PHP腳本:有沒有辦法按照命令行卷曲

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); 

將遵循重定向。有沒有辦法使用命令行cURL跟蹤重定向?

+9

我一直在尋找解決PHP和落在這裏。謝謝。 – dchayka

回答

515

使用位置頭標誌:

curl -L <URL>

+1

這不適用於通過Google進行身份驗證以訪問電子表格。 :/ – fatuhoku

+7

'man curl':「使用身份驗證時,curl僅將其憑據發送給初始主機。<...>另請參閱--location-trusted關於如何更改此設置。」 – hudolejev

+11

@posit bit.ly正在檢查用戶代理,但您可以用'--user-agent'或'-A'標誌來欺騙它 –

18

我也有類似的問題。我在這裏發佈我的解決方案,因爲我相信它可以幫助評論者之一。

對我來說,障礙是頁面需要登錄,然後通過JavaScript給我一個新的URL。這是我必須做的:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <URL>

注意,爲j_username和爲j_password是爲我的網站的登錄表單字段的名稱。你將不得不打開網頁的來源,看看你的情況下,用戶名字段的「名稱」和密碼字段的「名稱」。 之後,我去了一個HTML文件,其中嵌入了新的URL。解析了這一點後,只是用新的網址重新提交:

curl -c cookiejar -g -O -J -L -F "j_username=yourusename" -F "j_password=yourpassword" <NEWURL>

相關問題