【发布时间】:2023-03-25 03:16:01
【问题描述】:
我正在尝试使用我的 Wordpress 站点向远程服务器发送 cURL 请求,但是当我尝试这样做时,我收到了错误
您的浏览器不支持 Cookie
我已授予 cookiejar 文件 777 权限。我尝试将帖子字段中的testcookie 值更改为0,但没有成功。我读到另一个stackoverflow答案,如果我在curlopt_cookiejar set 函数中包含dirname(__FILE__),那可能会解决问题,但它没有。无论如何,这是我的 cURL 帖子的代码。
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $loginUrl);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "log=$email&pwd=$password&wp-submit=Log%20In&redirect_to=$loginUrl&testcookie=1");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_COOKIESESSION, false );
curl_setopt($ch, CURLOPT_COOKIEJAR, dirname(__FILE__) . '/uniquefilename' );
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookie.txt' );
希望这个问题不是含糊的,我还是个菜鸟。
【问题讨论】:
-
让您的站点对自身执行 HTTP 请求是非常低效的。您能不能只在该脚本中包含该功能以避免额外的 HTTP 请求?
-
也许我的问题令人困惑,但我并没有尝试使用我的网站在脚本中发布到自身,而是在文本文件中发布。
-
$loginUrl是和上面的脚本在同一台服务器上,还是在不同的服务器上?您不能向文本文件发送 POST 请求。 -
它在不同的服务器上。文本文件是我发布的内容。
-
当时的问题是错误的。您不是将 POST 发送到您的服务器,而是将其发送从您的服务器发送到远程服务器。这与您的问题的措辞完全相反。我将其编辑为我认为您正在尝试做的事情。如有错误请指正。