1 つのローカル関数でcurl_easy_setopt
プロキシ URL を設定するために使用するコードがあります。そして、別のローカル関数で を呼び出しますcurl_easy_perform
。しかし、コントロールが 1 つの関数から別の関数に移動すると、ローカル変数を使用して設定されたプロキシ 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);
}