PHP中cURL的curl_getinfo函式返回的CURLINFO_HTTP_CODE是0
阿新 • • 發佈:2019-02-09
分析
在PHP中使用cURL獲取網頁時,可以通過函式curl_getinfo()
來獲取http狀態碼。
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
我們期望的狀態碼是200,而且HTTP標準也對其它狀態碼做了一些定義。
總體範圍 | 已定義類別 | 類別 |
---|---|---|
100~199 | 100~101 | 資訊 |
200~299 | 200~206 | 成功 |
300~399 | 300~305 | 重定向 |
400~499 | 400~415 | 客戶端錯誤 |
500~599 | 500~505 | 服務端錯誤 |
但是curl_getinfo()
如果你已經連線到伺服器上了,那麼你將會返回一個狀態碼;否則,將會失敗並返回一個0。
所以,如果你連線到www.google.com/lksdfk
時,你會收到一個400的狀態碼,如果你連線到google.com
,你會收到一個302的狀態碼(如果繼續訪問的話,將會收到200的狀態碼,因為被重定向到了www.google.com.hk
),如果你訪問googlecom
,你會收到一個0狀態碼,並提示找不到host。
錯誤的詳細原因可以通過函式curl_error()
進行查詢。