视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Cocos2d-x中libcurl库的使用(6)HTTP消息头
2020-11-09 08:31:50 责编:小采
文档


1、消息头 当libcurl发送Http请求时,会自动添加一些http头,通过CURLOPT_HTTPHEADER属性手动替换、添加或删除响应的HTTP消息头 1)、Host:http1.1版本都要求客户端提供这个消息头 2)、Pragma:no-cache表示不要缓冲数据。 3)、Accept:*/*:表示允许接收

1、消息头

当libcurl发送Http请求时,会自动添加一些http头,通过CURLOPT_HTTPHEADER属性手动替换、添加或删除响应的HTTP消息头

1)、Host:http1.1版本都要求客户端提供这个消息头

2)、Pragma:"no-cache"表示不要缓冲数据。

3)、Accept:"*/*":表示允许接收任何类型的数据

4)、Expect:以Post的方式向HTTP服务器提交请求时,lib curl会设置该消息头为"100-continue",它要求服务器在正式处理该请求之前,返回一个"OK"消息,如果Post的数据很小,libcurl可能不会设置该消息头。

2、自定义请求:CustomRequest

Http支持get、head、post提交请求,可以设置CURLOPT_CUSTOMREQUEST来设置自定义的请求方式。lib curl默认以get方式提交请求。curl_easy_setopt(easy_handle,CURLOPT_CUSTOMREQUEST,"XXX");

3、修改消息头

Http协议允许我们自定义消息头,请求消息头的作用是告诉服务器如何处理请求,响应消息头则告诉浏览器如何处理接收到的数据,在libcurl中,你可以自由得添加这些消息头。如下:

struct crul_slist* headers = NULL;//init to NULL

heasers = curl_slist_append(headers,"Hey-server-hey:how are you?");

headers = curl_slist_append(headers,"X-silly-content:yes");

curl_easy_setopt(easy_handle,CURLOPT_HTTPHEADER,headers);

curl_easy_perform(easy_handle);

curl_slist_free_all(headers)

对于已经存在的消息头,可以重新设置它的值。

headers = curl_slist_append(headers,"Accept:Agent-007");

headers = curl_slist_append(headers,"Host:munged.host.line");

对于已经存在的消息头,可以设置它为空,libcurl在发送请求时就不会同时提交该消息头:headers = curl_slist_append(headers,"Accept:");


下载本文
显示全文
专题