這已解決 - 請參閱回答在這個帖子收到錯誤代碼28捲曲
THE END我試圖檢索使用PHP /從遠程服務器數據捲曲
如果我把跟着URL到瀏覽器的數據正確返回。
然而,當我試圖/訪問,如果用PHP捲曲它只是超時(錯誤代碼28)。
$json = curl($jsonurl, $realm['intRealmID'], $realm['strRealmServer']);
function curl($url, $realm, $realmServer){
$header = array();
$header[] = 'Host: realm'.strval($realm).'.'.$realmServer.'.castle.wonderhill.com';
$header[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Accept-Encoding: gzip,deflate';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Connection: keep-alive';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
curl_setopt($ch, CURLOPT_AUTOREFERER, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_ENCODING, '');
curl_setopt($ch, CURLOPT_TIMEOUT, 20);
return curl_exec($ch);
curl_close($ch);
}
任何人有任何想法,爲什麼它從瀏覽器的工作原理,但不是通過捲曲?謝謝
補充信息 雖然cURL不適用於上述URL。對於下面的URL,它工作得很好。唯一的區別是數據被請求的服務器。數據本身和POST是相同的。
ANSWER
最後回到這個發現引薦是問題。服務器期望在請求頭中看不到引用者。當它的請求被阻止。那時候所有服務器的行爲可能都不一致,但現在是這樣。從請求標題中刪除引用來源並保留其他所有內容現在都可以使用。
是否有任何原因導致用戶ID在2個URL中不同?這是因爲你有每個服務器1?這是不尋常的,因爲用戶ID通常在單個服務中是通用的 – Ryan
找到引用者是問題。我已經更新了OP。 – runey71