gpt4 book ai didi

php - 如何在 PHP 中重置 Curl 变量?

转载 作者:可可西里 更新时间:2023-10-31 22:06:30 24 4
gpt4 key购买 nike

我想连续执行多个 Curl 调用,第一个是发帖,但对于第二个,我只想加载一个页面而不发帖。

这是我的代码,它不起作用

$url = 'http://www.xxxx.com/results.php';
$curl_handle=curl_init();
curl_setopt ($curl_handle, CURLOPT_PROXY, $tor);
curl_setopt( $curl_handle, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
curl_setopt($curl_handle, CURLOPT_REFERER, $referer);

curl_setopt($curl_handle, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
$data = 'Manufacturer=1265';
curl_setopt($curl_handle, CURLOPT_POST,1);
curl_setopt($curl_handle, CURLOPT_POSTFIELDS ,$data);
curl_setopt($curl_handle,CURLOPT_URL,$url);
curl_setopt($curl_handle,CURLOPT_CONNECTTIMEOUT,2);
curl_setopt($curl_handle,CURLOPT_RETURNTRANSFER,1);
$buffer = curl_exec($curl_handle);

$dest = 'http://www.xxxx.com/search.php';
curl_setopt($curl_handle, CURLOPT_GET, 1);
curl_setopt($curl_handle, CURLOPT_URL, $dest);
$result = curl_exec ($curl_handle);
curl_close ($curl_handle);
echo $result;

当我关闭 curl 句柄并为第二个请求打开一个新句柄时,它工作正常。不过,我认为这不是最佳做法?

最佳答案

您可以轻松发出多种不同类型的调用,只需不断调用 setopt 在 GET 和 POST 之间切换,并根据需要更改 URL:

... your code up to the exec()...

curl_setopt($curl_handle, CURLOPT_HTTPGET, 1);
curl_setopt($curl_handle, CURLOPT_URL, 'http://....';
$buffer = curl_exec($curl_handle);

curl_setopt($curl_handle, CURLOPT_POST, 1);
curl_setopt($curl_handle, CURLOPT_URL, 'http://....';
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array(...));
$buffer = curl_exec($curl_handle);

只需更改您需要的 OPT。 Curl 将忽略先前设置的那些不适用于当前请求的设置(例如,在执行获取时不要费心清除 POSTFIELDS,因为 CURL 无论如何都不会使用它们)。

关于php - 如何在 PHP 中重置 Curl 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7392173/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com