由于项目原因,需要使用C++和第三方http接口获取数据,于是使用libcurl库完成功能,但是提交GET请求时,总是返回“未将对象引用设置到对象的实例”,但是第三方提供的测试程序获取数据无误(他们测试程序使用C#,不得不说C#的封装是比C++好啊,直接调用即可),通过wireshark抓包对比发现是GET请求时,发放本应为"GET",但是发送的为“POST”,网上libcurl的演示代码多注重于POST的提交,所以代码都会使用:
curl_easy_setopt(curl_, CURLOPT_POST, 1);
给请求添加POST方法的选项,但是GET其实也应该添加,代码如下:
curl_easy_setopt(curl_, CURLOPT_HTTPGET, 1);
添加此选项后,提交GET请求时,method为GET,未再出现“未将对象引用设置到对象的实例”的错误,完美解决。