PHP:使用curl登录远程站点

PHP:使用curl登录远程站点,php,curl,Php,Curl,我正试图用php curl登录这个网站,但它不起作用 地点: 我想这可能是因为在你进入登录屏幕之前,它会重定向你3次 这是我的代码: $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "https://sts.kunskapsskolan.se/adfs/ls/"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "UserName=MahUsar&

我正试图用php curl登录这个网站,但它不起作用

地点:

我想这可能是因为在你进入登录屏幕之前,它会重定向你3次

这是我的代码:

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://sts.kunskapsskolan.se/adfs/ls/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "UserName=MahUsar&Password=MahPass&AuthMethod=FormsAuthentication"); (Unshure about the auth thing)
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);

curl_exec($ch);

curl_close($ch);

为什么不起作用?

我已经尝试使用Firefox调试器,网站似乎正在将登录详细信息发布到

https://sts.kunskapsskolan.se/adfs/ls/
有三个领域:

UserName: aaa@bbb.ccc
Password: 123456
AuthMethod: FormsAuthentication
试试这个:

$username = 'myuser';
$password = 'mypass';

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, "https://sts.kunskapsskolan.se/adfs/ls/");
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 0);

curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POST, 1);

curl_setopt($ch, CURLOPT_POSTFIELDS, 'UserName='.$username.'&Password='.$password);

curl_exec($ch);

curl_close($ch);

您没有发布到正确的url,您应该检查表单的
action
属性…您可以添加curl\u setopt($ch,CURLOPT\u FOLLOWLOCATION,true);跟随重定向。@jeroen我已经修复了,但仍然不起作用:/n不,它只是返回一个页面,说出现了问题:/