最近碰到好多奇怪的BUG,今天就是一个例子。

  我在用CURL调用麦考林的接口,在浏览器测试完全没问题,调用全都成功。但是用命令行执行PHP时,却一直不行,返回http code 302错误。百思不得其解,后来经理帮忙才找到问题所在。

  curl初始化时有这样一行代码:  

curl_setopt($ch, CURLOPT_USERAGENT, isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : 'Mozilla/5.0'); 

  用命令行调用时,跟浏览器测试时的环境是不一样的,这里的 isset($_SERVER['HTTP_USER_AGENT']) 就会是false。有些接口可能时为了某些原因,可能是安全,而阻止你的请求。

  以后切记!

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-09-08
  • 2021-06-14
  • 2021-08-03
  • 2021-07-28
  • 2021-11-01
猜你喜欢
  • 2021-10-01
  • 2021-11-15
  • 2022-12-23
  • 2021-08-19
  • 2021-06-27
  • 2022-12-23
相关资源
相似解决方案