php重用curl_setopt来自之前的请求?

时间:2017-02-02 03:24:49

标签: php curl

是否可以只设置多个curl_setopt一次并在未来的curl exec中重复使用它们,只要卷曲手柄没有关闭? (特别是Useragent和Cookie)

<?php

$curl = curl_init();
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curl, CURLOPT_HEADER, TRUE);
curl_setopt($curl, CURLOPT_USERAGENT, "Mozilla/5.0 Gecko/20100101 Firefox/49.0");
curl_setopt($curl, CURLOPT_COOKIE, "PHPSESSID=".session_id());
curl_setopt($curl, CURLOPT_URL, "https://foo.bar/action/");
$ret = curl_exec($curl);

## DO SOME STUFF ##    

curl_setopt($curl, CURLOPT_URL, "https://foo.bar/anotherAction/"); // Set only new URL ..
curl_setopt($curl, CURLOPT_POSTFIELDS, $data); // ... and the POST data.
$ret2 = curl_exec($curl);

curl_close($curl);
?>

1 个答案:

答案 0 :(得分:0)

解决方案就像问题一样简单..就像我在问题中所做的那样。只要curl_close();未关闭cURL会话,您就可以根据自己的选择查询任意数量的请求,只需在curl_init();后设置一次。