PHP cURL-HTTP代码0

PHP cURL-HTTP代码0,php,curl,Php,Curl,我看过之前关于cURL和HTTP代码0的文章,但是它们没有帮助 我可以通过localhost-ie上的test\u cURL.php调用test\u curl2.php进入www.bambooping.com。但是,如果我在bambooping.com上运行它,就会得到HTTP代码0。(我知道在同一台主机上调用此命令是愚蠢的——这只是为了隔离问题。) 在bambooping.comsafe_mode上未设置,并且curl在中编译(即,应该是,因为我可以在中卷曲)。这很奇怪-调用主机正在阻止卷曲。

我看过之前关于cURL和HTTP代码0的文章,但是它们没有帮助

我可以通过
localhost
-ie上的
test\u cURL.php
调用
test\u curl2.php
进入
www.bambooping.com
。但是,如果我在
bambooping.com
上运行它,就会得到HTTP代码0。(我知道在同一台主机上调用此命令是愚蠢的——这只是为了隔离问题。)

bambooping.com
safe_mode
上未设置,并且curl在中编译(即,应该是,因为我可以在中卷曲)。这很奇怪-调用主机正在阻止卷曲。为什么用cURL调用失败了,而用cURL调用同一个主机就可以了

test_curl.php:

<?php
error_reporting(E_ALL); ini_set("display_errors", 1);
function curl_download($Url){
// is cURL installed yet?
if (!function_exists('curl_init')){
    die('Sorry cURL is not installed!');
}

// OK cool - then let's create a new cURL resource handle
$ch = curl_init();

// Now set some options (most are optional)

// Set URL to download
curl_setopt($ch, CURLOPT_URL, $Url);

// Set a referer
//    curl_setopt($ch, CURLOPT_REFERER, $_SERVER['REQUEST_URI']);

// make it blank - then it is ignored - otherwise, checked and error returned!
curl_setopt($ch, CURLOPT_REFERER, '');

// User agent
curl_setopt($ch, CURLOPT_USERAGENT, "MozillaXYZ/1.0");

// Include header in result? (0 = yes, 1 = no)
curl_setopt($ch, CURLOPT_HEADER, 0);

// Should cURL return or print out the data? (true = return, false = print)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

// Timeout in seconds
curl_setopt($ch, CURLOPT_TIMEOUT, 10);

//    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

// Download the given URL, and return output
$output = curl_exec($ch);

print_r(curl_getinfo($ch));

// Close the cURL resource, and free system resources
curl_close($ch);

return $output;
}

$str = curl_download("http://www.bambooping.com/test_curl2.php");
echo $str;
?>
想法?我刚出来。。。
谢谢-

www.bambooping.com的服务器可能位于防火墙后面,该防火墙可防止传出HTTP请求。即使是同一台服务器,请求仍然需要进入野外才能解析DNS


您可以编辑服务器上的主机文件,使其包含
127.0.0.1 www.bampooing.com
。或者您可以将URL更改为
http://127.0.0.1/test_curl2.php
,因为此本地主机域可能未被防火墙阻止。

请检查是否存在错误

我很高兴能告诉你这个问题

<?php
    if(curl_errno($ch))  echo 'Curl error: ' . curl_error($ch);  
?>

Array
(
[url] => http://www.bambooping.com/test_curl2.php
[content_type] => 
[http_code] => 0
[header_size] => 0
[request_size] => 0
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0
[namelookup_time] => 4.3E-5
[connect_time] => 0
[pretransfer_time] => 0
[size_upload] => 0
[size_download] => 0
[speed_download] => 0
[speed_upload] => 0
[download_content_length] => 0
[upload_content_length] => 0
[starttransfer_time] => 0
[redirect_time] => 0
)
<?php
    if(curl_errno($ch))  echo 'Curl error: ' . curl_error($ch);  
?>