首页 > 学院 > 开发设计 > 正文

Curl Expect:100-continue

2019-11-10 18:34:59
字体:
来源:转载
供稿:网友

在使用curl做POST的时候, 当要POST的数据大于1024字节的时候, curl并不会直接就发起POST请求, 而是会分为俩步:

发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据接收到Server返回的100-continue应答以后, 才把数据POST给Server

这是libcurl的行为. 具体的RFC相关描述: http://www.w3.org/PRotocols/rfc2616/rfc2616-sec8.html#sec8.2.3

于是,这样就有了一个问题, 并不是所有的Server都会正确应答100-continue, 比如lighttpd, 就会返回417 "Expectation Failed", 则会造成逻辑出错.

要解决的办法也挺容易:

curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:'));// Disable Expect: header (lighttpd does not support it)

原文地址:Expect:100-continue


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表