Re: How to reset/unset cURL options?
Michael Dowling <[email protected]> Mon, 04 Apr 2011 12:45:04 -0500
| Newsgroups | gmane.comp.web.curl.php |
|---|---|
| Message-ID | <[email protected]> |
libcurl has a curl_easy_reset option that I think would remove all of these options that cannot be unset or removed indirectly by setting some other related option. The problem is that the PHP bindings do not currently implement this function. I recently opened a feature request on PHP.net for this issue: http://bugs.php.net/bug.php?id=54022 You can often remove options from a curl handle by setting some other related option. For example, you can remove a lot of options from an HTTP based curl handle by setting CURLOPT_HTTPGET then setting your other method specific options. The best way to figure out how to indirectly unset curl options is to look at http://curl.haxx.se/libcurl/c/curl_easy_setopt.html I implemented a cURL handle manager in my cURL based PHP client library that will reuse curl handles for subsequent requests. It just throws away handles that it knows has options that cannot be unset. You might be able to extend this manager or implement something similar: https://github.com/guzzle/guzzle (https://github.com/guzzle/guzzle/blob/master/library/Guzzle/Http/Curl/CurlFactory.php). I had to implement my own cookie handling code because, like you said, CURLOPT_COOKIEJAR cannot be unset. -Michael On 4/4/11 10:53 AM, Matthias wrote: > Hello, > > how can i reset/unset curl options? > > if i set this option: > > curl_setopt($ch, CURLOPT_FTPPORT, NULL); > > php-curl send a PORT command to the ftp server, but i want to use PASV. > > Please don't answer i should not set this option to solve the problem, > because it is possible that i make multiple requests and reuse the curl > handle. What is if i want a PORT command in the first request, than > reuse the curl handle, and a PASV command in the second request? > > Why is there no CURLOPT_FTPPASV option ? > > I have the same problem with other options like CURLOPT_COOKIEJAR. It is > impossible to reset/unset this options for a second request :/ > > NULL should reset/unset a option! Why does it not work? > > > _______________________________________________ > http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php _______________________________________________ http://cool.haxx.se/cgi-bin/mailman/listinfo/curl-and-php