0

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

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

http://login.yahoo.com/config/login?login=xxxxxxx&passwd=yyyyyyyy&.done=http://m.yahoo.com/mail

xxxxx - 用户名 yyyyy - 密码

容易,对吧?并不真地。由于要返回的页面旨在自动将您登录到您的 Yahoo Mail 收件箱。

我试过:

<?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 来做到这一点?

4

1 回答 1

1

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

我首先尝试使用自己的 HTTP 请求类登录,但失败了。响应始终为空,但如果我从浏览器访问 URL,它将起作用。我在 Chrome 中打开了开发者工具,然后转到网络部分并尝试登录

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

http://login.yahoo.com/config/login_verify2?login=xxxxxx&passwd=yyyyyy&.done=http://m.yahoo.com/mail

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

于 2013-09-04T18:49:05.890 回答