当PHP cURL 时,如果POST的数据部分超过了1024字节,发送POST请求时header部分会包含一个参数Expect:100-continue,询问服务器是否愿意接收数据,收到服务器返回的100-continue应答后再把数据POST给服务器。

在项目中遇到一个问题如下:

当传输的数据较少时,cURL拿到的返回是这样的

array(2) {["header"]=>string(249) "HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 05:24:27 GMT
Content-Type: application/json
Content-Length: 34
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: checkinfo=; expires=Tue, 31 Mar 2015 05:24:27 GMT; Path=/
Server: TornadoServer/4.2"["body"]=>string(30) "{"error_msg":"","is_succ":"1"}"
}

但是数据多后,拿到的返回是这样的

array(2) {["header"]=>string(21) "HTTP/1.1 100 Continue"["body"]=>string(249) "HTTP/1.1 200 OK
Date: Wed, 30 Mar 2016 05:26:01 GMT
Content-Type: application/json
Content-Length: 34
Connection: keep-alive
Vary: Accept-Encoding
Set-Cookie: checkinfo=; expires=Tue, 31 Mar 2015 05:26:01 GMT; Path=/
Server: TornadoServer/4.2"
}

正常情况下,应该返回200 OK,但是数据过的情况下header是100 Continue,body中则为本应出现在header中的内容,接口对接方那边说数据成功收到了,说明POST成功了,但是 "{"error_msg":"","is_succ":"1"}"这个理应出现的返回没了。

为了解决这个问题,上网查资料,发现在header中设置Expect为空即可。

curl_setopt( $curl_handle, CURLOPT_HTTPHEADER, array( 'Expect:' ) );

这样返回信息就正常了。

PHP cURL 返回 HTTP/1.1 100 Continue相关推荐

  1. php格式化curl返回的json字符串,格式化Curl返回的Json字符

    格式化Curl返回的Json字符 经常会用到curl调试接口,服务器返回的是json,不过这些json是没有格式化的,不方便阅读. 经过搜索和实验,发现下面2中方式比较方便. 示例: curl htt ...

  2. curl返回常见错误码

    关注公众号 风色年代(itfantasycc) 300G微服务资料等你拿! curl返回常见错误码 - 阿波伦 - 博客园 CURLE_OK(0) 成功. CURLE_UNSUPPORTED_PROT ...

  3. Xfire+WebService “Discarding unexpected response: HTTP/1.1 100 Continue”错误解决

    错误如下: org.apache.commons.httpclient.HttpMethodBase writeRequest 信息: 100 (continue) read timeout. Res ...

  4. 大文件中返回频数最高的100个词

    1.题目描述 有一个1G大小的一个文件,里面每一行是一个词,词的大小不超过16字节,内存限制大小是1M,要求返回频数最高的100个词 2.思考过程 (1)参见我的其他大数据面试题博文.此处1G文件远远 ...

  5. bat curl 返回值_bat curl 发送http请求 监控网站

    标签:bat @echo off color 1f title 正在监控 www.0579ld.com.cn echo 正在监控 www.0579ld.com.cn(23.247.53.3).. :a ...

  6. Shell解析curl返回的json数据

    主要介绍两种方式,第一种是使用jq(需要单独安装),第二种是使用python(建议). 一.使用jq 1.安装JQ 方式1:下载二进制文件 wget -O jq https://github.com/ ...

  7. php curl返回body,获取CURL中返回的body内容

    在 PHP 使用 CURL 来做与远程 API 的数据交互,在某些情况下,curl_exec (或 curl_multi_getcontent)返回中会出现 header 和 body 的混合体,最近 ...

  8. php curl返回结果乱码,curl获取结果乱码的解决方法

    做项目的时候,遇到curl获取的结果是乱码,找了很多资料,终于解决了,以下是解决办法,记录一下.//php脚本开始 /*POST请求远程内容函数*/ function ppost($url,$data ...

  9. Curl返回 Empty reply from server,对特殊字符的处理,导致curl无法访问,浏览器能访问。

    使用浏览器正常访问. 使用curl访问时,要么出现 返回 Empty reply from server 要么就是显示 经过多次试验和windows下面curl的对比,发现访问的路径里面有&字 ...

最新文章

  1. 磁盘上没有足够的空间完成此操作_三年多啦,那么多IT人还没有搞定这个问题...
  2. wxWidgets:wxWeakRef< T >类模板的用法
  3. JAVA使用POI如何导出百万级别数据
  4. 【收集】11款Linux数据恢复工具
  5. CSS3 列表、表格、滤镜
  6. java查询和添加客户信息_4.从零点五开始的Java之路(增删改查-客户)
  7. rust建深海_rust怎么移动自己的领地柜 | 手游网游页游攻略大全
  8. Tomcat 8默认工具manager管理页面访问配置
  9. KVM详解(一)——KVM基础知识
  10. TortoiseSVN的设置
  11. 红米k30pro工程测试代码_红米K30Pro-MIUI12测试版|全局小窗|隐秘面具|拦截网|光锥动效|超多功能|步数修改-刷机之家...
  12. 自己做量化交易软件(42)小白量化实战15--自编股票软件公式历史与聚宽量化平台仿大智慧指标回测设计
  13. 图表设计-远不止“好看”这么简单
  14. 使用postman测试上传图片接口
  15. plt-------
  16. 剖析:从软件加密到软件授权保护
  17. Bootstrap(10) 进度条媒体对象和 Well 组件
  18. 人大金仓再次荣获“国家鼓励的重点软件企业”认定
  19. 股票中阳线锤子什么意思?
  20. Hadoop大数据平台开发与案例分析

热门文章

  1. 用 C语言的写出几个小程序
  2. 2011年计算机组成原理试卷答案,计算机组成原理试卷含答案
  3. java系统学习_java全面系统学习路线(转载)
  4. 视频分析中的那点事情
  5. 全套Python零基础学习资料,电子书整理好了,想要进行技术提升,转行的自取!
  6. minio文件服务器的数据同步操作
  7. 阿里云服务器搭建wordpress个人博客——学生优惠,专属网站
  8. Mysql 慢查询 Sql执行计划 SQL每阶段的耗时
  9. java 在方法中抛出异常_Java异常的抛出
  10. Ajax基本使用与JSON格式转换