libcurl 正常情况下返回28,即为请求超时,排查网络环境;
项目中使用 libcurl post图片文件,头部要求使用 application/x-www-from-urlencoded,代码使用 curl_formadd 方式添加表单;
但是发post请求时,一直是返回28超时,然而使用postman发请求时却是成功的,很困惑。
抓包!wireshark看确实是post成功,并收到了response,但是libcurl 的curl_easy_perform为什么一直返回超时呢???
加上 curl_easy_setopt(pEasy, CURLOPT_VERBOSE, 1); 选项,打印出请求的详细信息,发现收到了 100 continue,http 100错误码可以自行百度。
处理办法:
加上下边这行解决!
curl_setopt(pEasy, CURLOPT_HTTPHEADER, “Expect:”);