PHP CURL重定向

时间:2019-01-17 13:04:20

标签: php curl

我有一个Web应用程序,我在其中输入了IP地址,用户名和密码,然后单击“提交”。该页面将提交此数据并重定向到完成的页面。

完成页面完成更新。

我必须登录才能访问此页面,我的问题似乎是当我重定向到完成的页面时,我的登录凭据没有被传递出去。

这是我正在使用的代码:

$ch = curl_init();
$url = "http://127.0.0.1/test/test.cgi?ip=127.0.0.1&user=USERNAME&password=PASSWORD&submit=Update";
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERPWD, "$LOGIN:$PASSWORD");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_ANY);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_UNRESTRICTED_AUTH, 1);
$result=curl_exec($ch);
var_dump($result);

任何人都可以建议我是否缺少某些东西,或者为什么这可能行不通?

谢谢

1 个答案:

答案 0 :(得分:0)

这对我有用:

<?php
$login = 'login';
$password = 'password';
$url = 'http://your.url';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
curl_setopt($ch, CURLOPT_USERPWD, "$login:$password");
$result = curl_exec($ch);
curl_close($ch);  
echo($result);