使用php curl获取有效的http URL会返回500服务器错误

时间:2011-11-06 04:00:40

标签: php curl

我使用curl来获取链接缩短器的响应文本。当我回显确切的HTTP url并将其放入浏览器时,它工作正常并返回一个文本字符串(没有别的)。当我使用下面的代码运行curl时,我一直得到一个空白的结果,当我检查http代码时,我得到500错误。运行它的网站上的代码不会返回500,所以它必须是缩短程序(编辑:这是我们自己的,运行修改后的版本的youls),但是当我运行时,我没有遇到任何问题浏览器中的相同网址...我已检查链接缩短网址和此代码所在网站上的错误日志,并且没有错误代码。我没有想法。我从清晨开始就花在这上面,看不出它之所以这样做的原因......任何想法都会受到高度赞赏。

$urlToShorten="thisurl.com";
$buildURL = "http://bigironicallynamedlittlelinkshortener.com/url-api.php?action=shorturl&url=".urlencode($urlToShorten)."&format=json";
$cr = curl_init();
curl_setopt($cr, CURLOPT_URL, $buildURL);
curl_setopt($cr, CURLOPT_HEADER, false);
curl_setopt($cr, CURLOPT_RETURNTRANSFER, 1);
$result = curl_exec($cr);
$httpCode = curl_getinfo($cr, CURLINFO_HTTP_CODE);
echo "Return code: ".$httpCode;
curl_close( $cr );

echo "<br>Result: ".$result;

1 个答案:

答案 0 :(得分:0)

添加用户代理,这是它在CLI中的外观。

curl -A "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/534.30 (KHTML, like Gecko) Chrome/12.0.742.112 Safari/534.30" http://example.com