无法从外部URL访问数据

时间:2016-12-14 06:43:50

标签: php fopen external-url

我试图打开外部网址。它在我的本地服务器上工作正常。但当我转移到实时服务器时,它显示超时错误。 当我用同一域中的URL替换url时,它工作正常 allow_url_fopen在服务器中为ON。

 <?php
if ($fp = fopen('https://www.google.com/', 'r')) {
   $content = '';
   // keep reading until there's nothing left
   while ($line = fread($fp, 1024)) {
      $content .= $line;
   }

   echo $content;
   echo  'do something with the content here';
   // ...
} else {
   echo 'an error occured when trying to open the specified url';
}

?>

更新

  $curl_handle=curl_init();
  curl_setopt($curl_handle,CURLOPT_URL,'https://www.google.co.in/');
  curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
  curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
  $buffer = curl_exec($curl_handle);
  curl_close($curl_handle);
  if (empty($buffer)){
      print "Nothing returned from url..<p>";
  }
  else{
      print $buffer;
  }

我也尝试了cURL。它返回&#34;没有从url返回任何内容。&#34;。但它在我的本地和演示服务器中工作正常。

1 个答案:

答案 0 :(得分:0)

您应该使用curl从第三方网址获取数据。 请查看以下链接和示例: What is cURL in PHP?

示例:

$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "http://www.example.com/yourscript.php",
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => array(
        'field1' => 'some date',
        'field2' => 'some other data',
    )
);
curl_setopt_array($ch, $curlConfig);
$result = curl_exec($ch);
curl_close($ch);