我是靠谱客的博主 可靠羽毛,最近开发中收集的这篇文章主要介绍curl,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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

  1. 发送一个请求, 包含一个Expect:100-continue, 询问Server使用愿意接受数据

  2. 接收到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)

最后

以上就是可靠羽毛为你收集整理的curl的全部内容,希望文章能够帮你解决curl所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部