web-dev-qa-db-fra.com

Comment obtenir une option précédemment définie avec curl_setopt ()?

Je me demande simplement, car il n'y a pas de fonction curl_getopt (), comment il est possible de savoir quelle valeur a été définie pour une option spécifique avec curl_setopt() précédemment?

41
hakre

Tiré de diverses réponses autour des internets:

Question: Existe-t-il un moyen d'obtenir les paramètres actuels de l'option curl? Comme un curl_getopt () ou un curl_showopts ()?

Réponse: Oui et non. Il y a curl_getinfo () qui vous montrera des informations sur la dernière connexion, mais je soupçonne que ce n'est pas ce que vous recherchez. C'est une faiblesse en boucle, à mon humble avis.

Ma suggestion (et d'autres) est d'encapsuler cURL dans une classe où votre fonction $cURL->setOpt() stocke également la valeur pour une récupération ultérieure.

La multirequest PHP possède cette fonctionnalité (et puis certaines!):

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

curl_getinfo() peut éventuellement satisfaire certains de vos besoins. Sinon, vous pouvez écrire un wrapper de curl_setopt() qui enregistre toutes les options dans un tableau.

9
Dr McKay