我想在网站外获取一些需要用户名和密码的价值表格。 通常我需要先登录页面(https://xxx.xxx.xxx/HomeAccess),然后转到https://xxx.xxx.xxx/xxx.aspx。但如果没有登录,只需转到页面xxx.aspx,我会得到错误“由于发生内部服务器错误,无法显示该页面。”;
PHP中的我正在尝试使用此代码
<?php
$ch = curl_init();
$url = 'https://xxx.xxx.xxx/xxx.aspx';
$username ='uuuuu';
$password ='ppppp';
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
$output = curl_exec($ch);
$info = curl_getinfo($ch);
curl_close($ch);
print $output;
?>
我有空白页。
有什么想法吗?感谢
答案 0 :(得分:0)
我不确定如何在该网站上设置授权,但通常,当您登录时,他们会将某种访问令牌作为cookie提供,并且您可以使用该访问权限访问该网站中的任何其他页面。因此,使用curl使用用户名和密码登录登录页面,抓取cookie,然后再次卷曲到所需的页面。
同样,这一切都取决于您尝试访问的网站。您必须进行一些挖掘以找出登录的位置以及它们如何进行身份验证/授权。
答案 1 :(得分:0)
通过这样做,Curl可以给你一个很好的提示:
if(curl_exec($ch) === false)
{
echo 'Curl error: ('.curl_error($ch).'): '.curl_error($ch);
}
我的猜测是你有SSL证书验证问题。但它确实可能是20种不同的东西。如果您可以在初始问题中包含您的$ info值,这也会有所帮助。