我可以在设置CURLOPT_HTTPHEADER后立即调用curl_slist_free_all吗?
问题描述:
我可以这样做吗?我可以在设置CURLOPT_HTTPHEADER后立即调用curl_slist_free_all吗?
curl_easy_setopt(curl, CURLOPT_HTTPHEADER, headerlist);
curl_slist_free_all(headerlist);
也就是说,我可以在发送请求之前释放标题列表吗?卷曲是否复制?
答
不。在源文件中,setopt函数只是保存你的指针。
case CURLOPT_HTTPHEADER:
/*
* Set a list with HTTP headers to use (or replace internals with)
*/
data->set.headers = va_arg(param, struct curl_slist *);
break;
未来的只是注意:如果你碰到一个第三方二进制库,你可以不看,看,你可以做的是设置选项,然后以某种明显的覆盖你的价值,然后调用操作。如果原始值显示出来,你知道它做了一个副本。如果新值显示出来,你知道它没有。 – 2014-10-02 23:21:57
这现在也在CURLOPT_HTTPHEADER手册页中为未来黑客澄清。 – 2014-10-03 11:37:08