curl post请求总是返回417错误

在进行post请求的时候, curl总是返回417错误

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

  1. 发送一个请求, header包含一个Expect:100-continue, 询问Server使用愿意接受数据
  2. 接收到Server返回的100-continue应答以后, 才把数据POST给Server

但是,并不是所有的server都支持expect这个头,就会返回417错误,
所以在curl的时候,需要禁止expect试探。
如下:

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "Expect:");    //禁止curl的试探
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headers); // 设置GET请求参数

转载请注明出处哦。给你科普技术 http://www.cnblogs.com/stonehat/

posted @ 2017-05-31 11:48  stonehat  阅读(805)  评论(0编辑  收藏  举报