【发布时间】:2015-08-26 12:03:42
【问题描述】:
我希望有人可以帮助我解决这个问题。 我已经尝试了一段时间了,有各种各样的变化,似乎无法让它发挥作用。
我正在尝试编写一种方法来登录 https://login.three.ie/ 以检查来自 */My_account_balance 的帐户余额
我尝试过各种 wget 命令,但从我读到的内容来看,curl 更有可能完成这项任务..
我一直在尝试我在网上遇到的变体,包括从这里开始的 stackoverflow,但似乎没有任何效果。
这是我尝试的最后一个:
curl -X POST -c cookies.txt -u "Uern@me:P@ssw0rd" https://login.three.ie/
这确实会在此处保存 cookie 文件:
$ cat cookies.txt
Netscape HTTP Cookie File
#http://curl.haxx.se/docs/http-cookies.html
This file was generated by libcurl! Edit at your own risk.
HttpOnly_login.three.ie FALSE / FALSE 1433988274
laravel_session eyJpdiI6IkFZWmxvZ2oyXC9NNGVIbHVpejZwRWp3PT0iLCJ2YWx1ZSI6Imxkd25UKzBoMldiQlhYZVJnVUpuNUVsblZ1cGJYZWcwM2E1bTtIWHRiQ2pwV0VwemJ4NFlYcDlzTndSeFRNanpwdDhMMTIrS2RGZGdGd0RNZU1yREJ3PT0iLCJtYWMiOiI0NWUwYzc1TY4ODI3ZmY3ODY5NjliODkxODMyODIzMjQwNmNkNjljNTE2NzQxNmQ4MzhhNDljNTdjM2QwZGY1In0%3D
但是当我尝试重新使用 cookie 时,似乎有重定向或其他东西,因为这是我得到的:
$ curl -b cookies.txt https://my3account.three.ie/My_account_balance
<html><head><title>302 Moved Temporarily</title></head>
<body bgcolor="#FFFFFF">
<p>This document you requested has moved temporarily.</p>
<p>It's now at <a href="https://sso.three.ie/mylogin//login?auth-
required=seamless&service=https%3A%F%
2Fmy3account.three.ie%2FMy_account_balance">https://sso.three.ie/mylogin//login?auth-required=seamless&service=https%3A%2F%2Fmy3account.three.ie%2FMy_account_balance</a>.</p>
我不明白这里发生了什么。 有没有人知道出了什么问题,或者更好的是如何解决这个问题?
谢谢
【问题讨论】:
-
302 临时移动没有问题;这只是一个重定向。使用
-L, --location跟随重定向。 -
谢谢,这似乎更接近了,但现在我得到一个页面,它似乎还没有完全拉动我正在寻找的页面:
3 单点登录服务 -
在页面末尾有我要求的链接:跨度>
登录成功.
点击my3account.three.ie/My_account_balance" target="_parent">此处访问您请求的服务。
-
在移动到正确的请求页面之前,它看起来只是 SSO 登录页面。该页面在最后提到,这里:
登录成功。
点击这里 访问您请求的服务。
-
在使用 -L 参数之前,我从来没有收到过登录成功的消息。
标签: php bash curl cookies wget