我在抓http://www.beautyinzone.net/。
我使用简单的file_get_contents()
来加载此网址。
它完全在我的localhost上工作。但是当我在我的实时服务器上传时,它不起作用。
Warning: file_get_contents(http://www.beautyinzone.net/): failed to open stream: Connection timed out in script.php on line 36 page
如果我打开其他网址,则可以正常使用。
URL
我也尝试过使用cURL,但显示空白页面,不返回任何内容。
我想到了一个想法,也许我被阻止了,但它应该不是说网站使用我的服务器。
哪些问题可能导致我无法加载该网址?
答案 0 :(得分:1)
由于远程服务器正在推迟回复,因此您收到了http超时错误。这很正常。
TCP套接字已设置超时,当达到此超时时,将引发超时错误。通常,超时为30秒(默认情况下,使用 default_socket_timeout php.ini
设置。)
也许你想自己设置(增加)自定义超时:
<?php
$http_context = stream_context_create(array(
'http' => array(
'timeout' => 60.0 # 60 seconds
)
));
$url = 'http://www.beautyinzone.net';
$content = file_get_contents($url, false, $http_context);
通过cURL只需使用:
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 60);
答案 1 :(得分:0)
试试这个cURL代码段
function retrieve_curl_info() {
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => 'http://www.beautyinzone.net/',
CURLOPT_RETURNTRANSFER => true
));
$output = curl_exec($ch);
curl_close($ch);
return $output
}
另外,请查看此thread
答案 2 :(得分:0)
它为我工作。 尝试通过以下代码获取错误
if (!$content = file_get_contents("http://www.beautyinzone.net/")) {
$error = error_get_last();
echo $error['message'];
} else {
echo "working fine";
}