PHP在我的网站上阅读页面

时间:2010-09-27 15:57:55

标签: php

我正在尝试在我自己的网站上打开一个页面,以寻找我正在努力工作的搜索引擎。 我尝试了几种方法:
file_get_contents

$temp = file_get_contents("http://www.mysite.com/example01/");
echo $temp;

返回:

  

警告:   的file_get_contents(http://www.mysite.com/example01/)   [function.file-get-contents]:失败   打开流:连接尝试   失败,因为关联方做了   一段时间后没有正确回应   时间,或建立的连接失败   因为连接主机失败了   响应。在   C:\的Inetpub \ wwwroot的\ mysite的\ example01 \ temp.php   在第66行

卷曲

function curl($url){
    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_HEADER, true); // Display headers
    curl_setopt($ch, CURLOPT_VERBOSE, true); // Display communication with server       
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    print "<pre>\n";
    print_r(curl_getinfo($ch));  // get error info
    echo "\n\ncURL error number:" .curl_errno($ch); // print error info
    echo "\n\ncURL error:" . curl_error($ch); 
    print "</pre>\n";

    return curl_exec($ch);
    curl_close($ch);
}
$temp = curl("http://www.mysite.com/example01/");
echo "'$temp'";

返回:

  

阵列(       [url] =&gt; http://www.jlwarranty.com/example01/       [http_code] =&gt; 0       [header_size] =&gt; 0       [request_size] =&gt; 0       [filetime] =&gt; 0       [ssl_verify_result] =&gt; 0       [redirect_count] =&gt; 0       [total_time] =&gt; 0       [namelookup_time] =&gt; 0       [connect_time] =&gt; 0       [pretransfer_time] =&gt; 0       [size_upload] =&gt; 0       [size_download] =&gt; 0       [speed_download] =&gt; 0       [speed_upload] =&gt; 0       [download_content_length] =&gt; 0       [upload_content_length] =&gt; 0       [starttransfer_time] =&gt; 0       [redirect_time] =&gt; 0)

     

cURL错误号:0

     

cURL错误:

     

''

让页面重新加载大约需要30秒。

在php.ini中启用了cURL,allow_url_fopen也是如此。

2 个答案:

答案 0 :(得分:1)

这可能是防火墙问题吗?我不久前遇到一个问题,我无法使用cURL或http流包装器来访问外部资源,尽管两者都已启用。托管支持告诉我,他们的防火墙默认禁止来自其服务器的出站http请求,他们需要为我试图访问的站点添加例外。

从第一条错误消息中看起来好像是在使用IIS在自己的PC上运行它。 IIS配置或计算机设置中是否存在阻止服务器访问远程资源的内容?

答案 1 :(得分:0)

您的网站是否托管了托管服务提供商?

有时托管网站在其常用名称下不可见 - 它可能从外部称为 www.mysite.com ,但您必须将其称为 www .mysite.com.internal.myprovider.com 从托管服务提供商的网络中访问它。

值得询问您的托管服务提供商的支持部门是否是这种情况,以及您网站的内部名称是什么。