这已解决 - 请参阅回答在这个帖子收到错误代码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