我正在使用PHP cURL從URL中獲取XML輸出。這裏是我的代碼的樣子:無法通過cURL獲取XML輸出
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://www.mydomain.com?querystring');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "username:password");
$store = curl_exec($ch);
echo $store;
curl_close($ch);
但是,而不是返回XML它只是顯示我的404錯誤頁面。如果我在網絡瀏覽器中鍵入網址http://www.mydomain.com?querystring,我可以在瀏覽器中看到XML。
我在這裏錯過了什麼? :(
感謝。
PHP腳本是否運行o與您的瀏覽器相同的機器?僅僅因爲這個網址在一個地方運行,對於它在另一臺機器上運行的效果絕對沒有意義。 –
@Blueboye - 除了@Marc B的評論,一些網站所有者檢查某些事情的存在,以確保請求來自網絡瀏覽器而不是bot(或cURL)。你應該嘗試添加'curl_setopt($ ch,CURLOPT_USERAGENT,'Mozilla/5.0(compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)');'看看是否解決了這個問題。這將發送一個用戶代理字符串。該網站還可能檢查是否存在Cookie或其他內容。 –
我在本地主機上運行PHP,但ULR是外部服務器。 – Blueboye