在使用C++中的curl进行网络调用的时候,出现了这个错误:
curl_easy_perform() failed:URL using bad/illegal format or missing URL
错误信息很明显,就是URL不太对,此时我是这样调用的:
先使用了 std::string 保存对应的url,然后传入到curl的设置里面,看起来没有什么问题,该URL也是绝对能用的,但是运行的话就会抛出上述错误。
然后我尝试着直接把URL写到curl_easy_setopt中,此时代码是这样的:
只是原封不动的把上面的URL复制到下面对应的设置位置上去,竟然就可以使用了!!!困扰了半个小时,查阅了很多资料,最后发现了问题所在:
curl_eay_setopt(),里面设置URL的时候不能使用std::string,需要使用std::string .c_str() 转换为char指针才行,如下所示:
curl的其他选项设置如果出现未知错误的话,可以检查一下是不是和这个问题一样。