libcurl中文手册如何只接收响应头,不接收内容(响应头:content-length不等于0,实际没有内容,也不需要内容)

_但只能获取到HTTP页面的

0

对于http的请求返回结果要进行内容嘚长度校验主要有两种方式:

1.客户端在http头(head)加Connection:keep-alive时服务器的response是Transfer-Encoding:chunked的形式,通知页面数据是否接收完毕例如长连接或者程序运行中可以动态的輸出内容,例如一些运算比较复杂且需要用户及时的得到最新结果那就采用chunked编码将内容分块输出。

2.除了如1所述之外的情况一般都是可以獲取到Content-Length的

Content-Length如果存在并且有效的话,则必须和消息内容的传输长度完全一致(经过测试,如果过短则会截断过长则会导致超时。)

Transfer-Encoding: chunked的意思是:一边读数据一边发给客户端。不是一下传输会带这个头信息。
Content-Length:则是服务器内已经缓存了哪个说句,一下发送给客户端会帶这个头信息

情况是这样的,服务端是动态生成的你在数据很小的时候,没超过服务器的buffer大小的情况下

今天就遇到了这个问题在一段玳码中调用 w.Header.Set,怎么折腾都无效最后才发现其它代码段中先调用了 w.WriteHeader。

我要回帖

更多关于 libcurl 的文章

 

随机推荐