我希望有人能帮我解决这个问题。 我一直在尝试这一段时间,有各种各样的变化,似乎无法得到这个工作。
我想脚本的方式login到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时,它看起来像有一个redirect或什么,因为这是我得到:
$ 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>
我不明白这里发生了什么事情。 有没有人有什么问题的想法,甚至更好,如何补救?
谢谢
他们的网站可能通过首先将其redirect到login页面来validation存储在cookie中的会话。 然后,他们的login页面将redirect到在redirect期间设置的相应页面作为“服务”参数。
curl默认不遵循redirect。 使用-L选项覆盖它:
$ curl -L -b cookies.txt https://my3account.three.ie/My_account_balance
参考
你可以使用-L选项来使curl跟随redirect。