使用cURL自动登录雅虎邮件


Automated Yahoo Mail login with cURL - how?

我目前正在尝试创建一个带有cURL指令的页面,该指令执行以下操作:

获取以下链接,向其发送GET请求,然后检索结果。

http://login.yahoo.com/config/login?login=xxxxxxx&passwd=yyyy-yyyy&。已完成=http://m.yahoo.com/mail

xxxxx-用户名yyyy-密码

很简单,对吧?不是。由于要返回的页面被设计为自动将您登录到您的雅虎邮件收件箱。

我尝试过:

<?php
// Get cURL resource
$curl = curl_init();
// Set some options - we are passing in a useragent too here
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => 'http://login.yahoo.com/config/login?login=xxxxxx&passwd=yyyyyyy&.done=http://m.yahoo.com/mail',
CURLOPT_USERAGENT => 'something-here'
));
// Send the request & save response to $resp
$resp = curl_exec($curl);
// Close request to clear up some resources
curl_close($curl);
echo $resp;
?>

我确实得到了回复,但它只是关于雅虎邮件登录页面。它实际上并没有执行登录并检索相关的雅虎收件箱。

我该如何使用cURL进行此操作?

经过一些广泛的测试。。我决定看看为什么这不起作用,我对@Sammitch关于它不起作用的评论很感兴趣。。

我第一次尝试使用自己的HTTP请求类登录,但失败了。响应总是保持为空,但如果我从浏览器访问URL,它就会工作。我打开Chrome中的开发工具,进入网络部分,尝试登录

该页面似乎将数据发布到了另一个页面,即

http://login.yahoo.com/config/login_verify2?login=xxxxxx&passwd=yyyyyy&。已完成=http://m.yahoo.com/mail

在修改了我的cURL代码以直接使用该URL后,它让我登录了..所以这就是你问题的解决方案。。基本上,您使用的URL不起作用,上面显示了应该起作用的URL。