首页
社区
课程
招聘
[求助]libcurl如何更改header信息
发表于: 2015-11-9 21:28 4334

[求助]libcurl如何更改header信息

2015-11-9 21:28
4334
想要发出去的POST信息如下:
POST /p/SendFile.aspx?ImageType=bmp HTTP/1.1
User-Agent: client
Host: 11.22.16.45
Content-Length: 7742
Cache-Control: no-cache
后面紧跟着就是bmp图片数据

问题代码如下:
        CURL *curl = curl_easy_init();  
        CString sPage.Format("http://11.22.16.45/p/SendFile.aspx?ImageType=bmp");
        string data = ...; //bmp数据
        curl_easy_setopt(curl, CURLOPT_URL, sPage);
        curl_easy_setopt(curl, CURLOPT_POST, 1L);
        curl_easy_setopt(curl, CURLOPT_POSTFIELDS, data.data());
        curl_easy_setopt(curl, CURLOPT_POSTFIELDSIZE, data.size());
        curl_easy_setopt(curl, CURLOPT_USERAGENT, "client");
        CURLcode res = curl_easy_perform(curl);  
这个代码会发出去POST信息,但头和要求的不一致,多了下面三个项:
accept, content-type,expect:100-continue;
怎么去掉它,是不是上述调用方法有问题?
还望指教

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 126
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
经过测试,需要更改content-type为bmp才能正确接收.
更改代码如下:
headers = curl_slist_append(headers, "Content-Type: image/bmp");
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers);// 改协议头

问题自己解决了:)
2015-11-9 22:32
0
游客
登录 | 注册 方可回帖
返回
//