将 curl 与 cookie(用户名/密码)一起使用


Using curl with cookies (username / password)

我希望有人能在这个问题上帮助我。我已经尝试了一段时间,有各种各样的变化,似乎无法让它工作。

我正在尝试编写一种登录 https://login.three.ie/以从 */My_account_balance 检查帐户余额的方法

我已经尝试了各种wget命令,但从我读到的内容来看,curl更有可能完成这项任务。

我一直在尝试我在网上遇到的变体,包括从这里开始的堆栈溢出,但似乎没有任何效果。

这是我尝试过的最后一个:

    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&amp;service=https&#37;3A&#37;F&#37;                   
    2Fmy3account.three.ie&#37;2FMy_account_balance">https://sso.three.ie/mylogin//login?auth-required=seamless&amp;service=https&#37;3A&#37;2F&#37;2Fmy3account.three.ie&#37;2FMy_account_balance</a>.</p>

我不明白这里发生了什么。有没有人知道出了什么问题,甚至更好的是,如何解决这个问题?

谢谢

您需要注释此行:

This file was generated by libcurl! Edit at your own risk.

因为它显然是一个无效的cookie。