通过PHP的cURL适用于某些网站,而其他一些网站则无法使用?

时间:2017-09-05 18:06:39

标签: php curl

<?php
  $url = 'https://adidas.com/us/';
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HEADER, false);
  $data = curl_exec($curl);
  curl_close($curl);
  echo $data;
?>

我只是试图通过cURL显示内容,当我尝试https://www.google.com/或其他网站时,它运行得很好,但是在adidas网站上,它会超时吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

添加curl_getinfo来电,您会看到更多有用的信息

<?php
  $url = 'https://adidas.com/us/';
  $curl = curl_init();
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($curl, CURLOPT_HEADER, false);
  $data = curl_exec($curl);
  print_r(curl_getinfo($curl));
  curl_close($curl);
  echo $data;
?>

在这种情况下,一分钟后超时,curl_getinfo返回http_code为0.这意味着无法建立连接。

答案 1 :(得分:0)

outputs显然无法通过adidas.com访问。它通过HTTPS工作,并重定向到HTTP。此地址也可以通过http://www.adidas.com/us/

改为使用HTTPS

答案 2 :(得分:0)

您获得curl_exec的空字符串(对于http链接),因为响应代码是301 Moved Permanently。 HTTP响应的正文为空。