0

我已经使用 Cloudflare 几个月了,当我使用 Cloudflare 时,我的支付系统无法 100% 运行。检查脚本不起作用。没有 Cloudflare,一切正常。

我得到的错误是:

PHP 警告:file_get_contents(): php_network_getaddresses: getaddrinfo failed: 这通常是主机名解析期间的临时错误,意味着本地服务器没有收到来自权威服务器的响应。在第 2 行的 C:\inetpub\wwwroot\check.php

PHP警告:file_get_contents(https://www.eurobellen.nl/bel/check.php?userid=name&ip=ip&ebpin=):无法打开流:php_network_getaddresses:getaddrinfo失败:这通常是主机名解析期间的临时错误,意味着本地服务器没有收到来自权威服务器的响应。在第 2 行的 C:\inetpub\wwwroot\check.php

第 2 行是:

$ebcheck = file_get_contents("https://www.eurobellen.nl/bel/check.php?userid=name&ip=".$ip."&ebpin=".$_GET['ebpin']);

我已经搜索了大约 2 个小时,我尝试了几件事,但我无法修复它。希望大家知道怎么解决?

4

1 回答 1

3

您可以尝试 curl 来完成此类任务。curl特定于该类型的任务。

function get_contents($url, $ua = 'Mozilla/5.0 (Windows NT 5.1; rv:2.0.1) Gecko/20100101 Firefox/4.0.1', $referer = 'http://www.google.com/') {
  if (function_exists('curl_exec')) {
    $header[0] = "Accept-Language: en-us,en;q=0.5";
    $curl = curl_init();
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_USERAGENT, $ua);
    curl_setopt($curl, CURLOPT_REFERER, $referer);
    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_TIMEOUT, 10);
    $content = curl_exec($curl);
    curl_close($curl);
  }
  else { 
    $content = file_get_contents($url);
  }
  return $content;
}

上面的函数检查是否安装了 curl 扩展。如果已安装,则无论如何都使用 curlfile_get_contents();

于 2015-02-10T15:01:36.513 回答