How to get an option previously set with curl_setopt()?

Solution 1:

Pulled from various answers around the internets:

Question: Is there a way to get the current curl option settings? Like a curl_getopt() or curl_showopts()?

Answer: Yes and no. There is curl_getinfo() which will show you some info about the last connection, but I suspect it's not what you're looking for. It's a weakness in curl, IMHO.

My suggestion (and others) is to encapsulate cURL into a class where your $cURL->setOpt() function also stores the value for retrieval later.

The multirequest PHP library has this functionality (and then some!):

$request = new \MultiRequest\Request($url);
$request->setCurlOption(CURLOPT_PROXY, $proxy);
// ...
$curlOptions = $request->getCurlOptions();
list($proxyIp, $proxyPort) = explode(':', $curlOptions[CURLOPT_PROXY]);

Solution 2:

Possibly curl_getinfo() may satisfy some of your needs. If not, you can write a wrapper of curl_setopt() which saves all options to an array.