我有一个代码,在我curl_easy_setopt
用来设置代理 URL 的一个本地函数中。在另一个本地函数中,我调用了curl_easy_perform
. 但是当控件从一个函数转移到另一个函数时,使用局部变量设置的代理 url 包含垃圾字符,并且 DNS 查询返回错误。libcurl 帮助页面说,当我们执行 setopt 时,curl 库会复制字符串值。但我觉得图书馆只是在需要时引用该值。它不会复制字符串。因此,如果使用局部变量设置代理 url,它会在我调用时包含垃圾curl_easy_perform
。
以下是示例代码片段。
void funcSetOpt
{
char ProxyUrl[] = "someproxy";
curl_easy_setopt(curlHandle, CURLOPT_PROXY, ProxyUrl);
}
void funcPerform
{
curl_easy_perform(curlHandle);
}