【问题标题】:cURL FollowLocations does not work [duplicate]cURL FollowLocations 不起作用[重复]
【发布时间】:2014-07-27 01:35:47
【问题描述】:

我有一个 php 函数,它从用户那里获取一个 URL,检查该 URL 是否有效且存在,然后获取该 URL 的标题。这工作正常,除了重定向的 URL(例如:http://tintin.com 重定向到 http://us.tintin.com。在这些情况下,函数会失败。

然后我读到我需要添加以下选项 -

curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

我已经添加了这个,但功能失败了,但我没有收到与此相关的错误。是否有任何适当的方法来调试它,或者我是否需要设置其他选项才能使其正常工作?

【问题讨论】:

  • 你使用的是safe_mode还是open_basedir
  • 这与重定向无关,curl_exec 返回FALSE 表示有错误。检查该错误。 @Martin Konecny 还会提示您该错误是什么。
  • 与重定向无关?您很难理解每个其他链接都有效。只有重定向到另一个链接的链接不起作用。说真的,去找其他人来拖钓。
  • @MartinKonecny 上次我这样做时,我不得不删除问题,因为有人误读了我的问题,将其标记为重复,并且未能提供任何建设性的批评。
  • 我不会说标记的问题是重复的。它显示了如何调试 CURL 错误,但没有解决特定错误。

标签: php curl


【解决方案1】:

我认为问题可能在于http://tintin.com 不起作用。

$ curl -v tintin.com    
* Rebuilt URL to: tintin.com/
* Hostname was NOT found in DNS cache
* Could not resolve host: tintin.com
* Closing connection 0
curl: (6) Could not resolve host: tintin.com

您需要使用http://www.tintin.com(确实有效),然后您的代码应该获取并遵循302 redirecthttp://us.tintin.com

【讨论】:

  • 啊原来我使用的所有重定向 URL 都有这个问题。谢谢,这让我发疯了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-23
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 2018-08-16
  • 1970-01-01
相关资源
最近更新 更多