2016-03-20 43 views
1

我試圖從https://m.jetstar.com/Ink.API/api/flightAvailability?LocaleKey=en_AU&ChildPaxCount=0&DepartureDate=2016-03-21T00%3A00%3A00&ModeSaleCode=&Destination=NGO&CurrencyCode=TWD&AdultPaxCount=1&ReturnDate=&InfantPaxCount=0&Origin=TPEcurl命令不能用簡單的HTTP GET,但瀏覽器的工作確實

它不能做的curl -vv https://m.jetstar.com/Ink.API/api/flightAvailability?LocaleKey=en_AU&ChildPaxCount=0&DepartureDate=2016-03-21T00%3A00%3A00&ModeSaleCode=&Destination=NGO&CurrencyCode=TWD&AdultPaxCount=1&ReturnDate=&InfantPaxCount=0&Origin=TPE它會返回任何結果, 獲取數據。然而,瀏覽器可以獲取整個數據。

這是什麼問題?

回答

1

在我看來,「m.jetstar.com」正在過濾不包含瀏覽器將發送的標頭的請求。你的curl語句需要完全模擬瀏覽器來獲取數據。我想說的一種方法是在Google Chrome中打開開發人員工具,選擇網絡選項卡,在瀏覽器中運行URL,然後轉到指示調用並單擊右鍵的行,然後將請求作爲curl語句複製,然後將其粘貼到記事本中,您將看到所需的所有其他標題。此外,該捲曲聲明應該起作用。

+0

不,它沒有工作,因爲我在Python中使用虛假的'User-Agent',它仍然提取空數據。 User-Agent:Mozilla/5.0(Macintosh; Intel Mac OS X 10_11_3)AppleWebKit/537.36(KHTML,與Gecko一樣)Chrome/49.0.2623.87 Safari/537.36' – newBike

+0

在User-Agent旁邊還有很多頭文件需要考慮,如果你做複製粘貼弗羅姆鉻你會明白我的意思。 –

相關問題