php使用curl出现Expect:100-continue解决方法

yipeiwu_com6年前PHP代码库

本文实例讲述了php使用curl出现Expect:100-continue解决方法。分享给大家供大家参考。具体如下:

使用curl POST数据时,如果POST的数据大于1024字节,curl并不会直接就发起POST请求。而是会分两步。

1.发送一个请求,header中包含一个Expect:100-continue,询问Server是否愿意接受数据。
2.接受到Server返回的100-continue回应后,才把数据POST到Server。

这个是libcurl定义的,具体可以查看相关描述:http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3

于是这样就会出现一个问题。并不是所有的Server都会回应100-continue的。例如lighttpd,会返回"417 Expectation Fail",会造成逻辑错误。

解决方法如下,就是发送请求时,header中包含一个空的Expect。

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:")); 

希望本文所述对大家的php程序设计有所帮助。

相关文章

PHP基于swoole多进程操作示例

PHP基于swoole多进程操作示例

本文实例讲述了PHP基于swoole多进程操作。分享给大家供大家参考,具体如下: 多个任务同时执行 将顺序执行的任务,转化为并行执行(任务在逻辑上可以并行执行) 比如,我们要对已知的用户...

Laravel模板引擎Blade中section的一些标签的区别介绍

Laravel 框架中的 Blade 模板引擎,很好用,但是在官方文档中有关 Blade 的介绍并不详细,有些东西没有写出来,而有些则是没有说清楚。比如,使用中可能会遇到这样的问题: 1...

PHP 验证码不显示只有一个小红叉的解决方法

PHP 验证码不显示只有一个小红叉的解决方法

最近想自学PHP ,做了个验证码,但不知道怎么搞的,总出现一个如下图的小红叉,但验证码就是显示不出来,原因如下 未修改之前,出现如下错误;  (1)修改步骤如下,原因如下,原因...

360通用php防护代码(使用操作详解)

360发布通用php防护代码,其实最初是协助phpcms来防护安全用的,现在看来可以加入到任何有漏洞的网站里面,拿phpcmsv9问题,解决方案如下,其他网站以此类推! 1.将360_s...

phpmyadmin提示The mbstring extension is missing的解决方法

本文较为详细的分析了phpmyadmin提示The mbstring extension is missing的解决方案,分享给大家供大家参考。具体方法如下: 一、问题: phpmyad...