"user" -6ren">
gpt4 book ai didi

php - curl 发送 GET 而不是 POST

转载 作者:可可西里 更新时间:2023-11-01 01:10:59 27 4
gpt4 key购买 nike

实际上,它变得如此困惑,我什至不确定 curl 是罪魁祸首。所以,这是 php:

$creds = array(
'pw' => "xxxx",
'login' => "user"
);

$login_url = "https://www.example.net/login-form"; //action value in real form.
$loginpage = curl_init();

curl_setopt($loginpage, CURLOPT_HEADER, 1);
curl_setopt($loginpage, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($loginpage, CURLOPT_URL, $login_url);
curl_setopt($loginpage, CURLOPT_POST, 1);
curl_setopt($loginpage, CURLOPT_POSTFIELDS, $creds);

$response = curl_exec($loginpage);
echo $response;

我得到 header (与正常成功请求的 header 相匹配),然后是登录页面(我猜 curl 由于重定向而捕获了这个),它有一个错误,导致“接触类型错误” ".

我认为问题是请求将主机设置为请求服务器,而不是远程服务器,但后来我注意到(在 Firebug 中)请求是作为 GET 而不是 POST 发送的。

如果我复制登录站点的表单,将其拆分为仅包含具有值的表单元素,并放入操作的完整 URL,效果会很好。所以我认为这不是登录请求必须源自同一服务器等的安全问题(我什至摆脱了空的隐藏值和所有设置其他一些 cookie 的 JS)。

话又说回来,我很快就糊涂了。

关于为什么它显示为 GET,或者为什么它不起作用,有什么想法吗?

最佳答案

在解决所有与 PHP-cURL 相关的问题时,您只需打开 CURLOPT_VERBOSE 并为 CURLOPT_STDERR 提供一个文件句柄。

tail -f 您的文件,将 header 和响应与您在 Firebug 中看到的进行比较,问题应该变得清晰。

关于php - curl 发送 GET 而不是 POST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/955117/

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