【问题标题】:PHP reading a page on my sitePHP 读取我网站上的页面
【发布时间】:2010-09-27 15:57:54
【问题描述】:

我正在尝试在我自己的网站上打开一个页面,以查找我正在尝试使用的搜索引擎。 我尝试了几种方法:
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'";

返回:

数组 ( [网址] => http://www.jlwarranty.com/example01/ [http_code] => 0 [header_size] => 0 [请求大小] => 0 [文件时间] => 0 [ssl_verify_result] => 0 [redirect_count] => 0 [总时间] => 0 [名称查找时间] => 0 [连接时间] => 0 [pretransfer_time] => 0 [大小上传] => 0 [大小下载] => 0 [速度下载] => 0 [速度上传] => 0 [下载内容长度] => 0 [上传内容长度] => 0 [starttransfer_time] => 0 [redirect_time] => 0)

cURL 错误号:0

cURL 错误:

''

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

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

【问题讨论】:

    标签: php


    【解决方案1】:

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

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

    【讨论】:

    • 这就是问题所在。我通过将我们的站点 IP 地址作为 www.mysite.com 放入主机文件中解决了这个问题,这样就不必大幅更改搜索脚本。
    【解决方案2】:

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

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

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

    【讨论】:

    • 它托管在 Rackspace... 我得给他们打电话。
    • 另外,它是一台运行 IIS 的 Windows 机器,所以我不知道这是否会有所不同。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-12-10
    • 1970-01-01
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多