Heim > Datenbank > MySQL-Tutorial > Cocos2d-x中libcurl库的使用(6)HTTP消息头

Cocos2d-x中libcurl库的使用(6)HTTP消息头

WBOY
Freigeben: 2016-06-07 15:01:07
Original
1221 Leute haben es durchsucht

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:");


Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage