49

I'm just wondering as there is no curl_getopt() function, how it is possible to find out which value has been set for a specific option with curl_setopt() previously?

Yahel
  • 36,493
  • 22
  • 101
  • 151
hakre
  • 184,866
  • 48
  • 414
  • 792

2 Answers2

49

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]);
leek
  • 11,303
  • 7
  • 42
  • 60
  • 2
    Yes I'm actually missing that function, I've checked cUrl itself and it doesn't provide it as well. I assume that if the libcurl integrates this, PHP will follow on. – hakre Mar 18 '11 at 20:21
12

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.

Dr McKay
  • 2,490
  • 1
  • 20
  • 25