curl 301 处理

我在处理某个接口调用时发现postman能正常响应数据,但是程序运行时却获取不到正常数据响应.

排查日志发现代码里curl时会返回301, 所以会导致接口未能正确获取到响应数据.

curl -i http://www.example.com/fetchAvailability\?startDate\=2021-02-08\&endDate\=2021-02-08\&startTime\=00%3A00%3A00\&endTime\=23%3A59%3A59
HTTP/1.1 301 Moved Permanently
Date: Tue, 09 Feb 2021 00:39:19 GMT
OT-RequestId: 74eadfc7-50a1-4610-83ab-4beab3581621
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Set-Cookie: OT-SessionId=b1db19cb-00cf-47be-95ac-33eee1172706; Path=/; Domain=example.com; Expires=Tue, 09-Feb-2021 01:09:19 GMT; Max-Age=1800; Secure; SameSite=None
Set-Cookie: OT-Session-Update-Date=1612831159; Path=/; Domain=example.com; Expires=Tue, 09-Feb-2021 01:09:19 GMT; Max-Age=1800; Secure; SameSite=None
Location: https://www.example.com/FetchAvailability?startDate=2021-02-08&endDate=2021-02-08&startTime=00%3A00%3A00&endTime=23%3A59%3A59
Content-Length: 0

postman 处理了 301 跳转.

php curl里如果要处理301 跳转的问题,需要加上 下面这行代码:

curl_setopt($curl, CURLOPT_FOLLOWLOCATION, true);

参考链接:

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、安装: (大多数 Linux 发行版都预先安装了 curl 包,不需要自行安装) Ubuntu:sudo ap...
    哎呦666阅读 24,592评论 0 1
  • 什么是cURL cURL是Client for URLs的缩写,是一个支持多种协议的数据传输命令行工具。支持的协议...
    AlgoPeek阅读 977评论 0 1
  • 其实微服务分布式认证授权框架并不复杂,网上的一些文章也是过于注重实践,却对这其中的原理解释不多,希望我的这篇文章能...
    程序员王旺阅读 5,377评论 0 3
  • 原文地址:PHPcURL库函数抓取页面内容(转)作者:巴克 cURL是一个利用URL语法规定来传输文件和数据的工具...
    司马东阳阅读 1,218评论 0 3
  • curl 是 linux 世界里很厉害的角色,使用编程语言需要引用各种包,写 N 行代码才能实现的功能,curl ...
    二石兄阅读 4,867评论 0 2