Назад | Перейти на главную страницу

Использование curl с файлами cookie

Я надеюсь, что кто-то может мне помочь с этим. Я пробовал это некоторое время со всеми видами вариаций и, похоже, не могу заставить это работать.

Я пытаюсь создать сценарий для входа в 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&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>

Я не понимаю, что здесь происходит. Есть ли у кого-нибудь представление о том, что происходит не так, или даже лучше, как это исправить?

Спасибо

Возможно, их веб-сайт аутентифицирует сеанс, хранящийся в файлах cookie, сначала перенаправляя их на страницу входа. Затем их страница входа будет перенаправлена ​​обратно на соответствующую страницу, установленную во время перенаправления в качестве параметра «service».

По умолчанию Curl не выполняет перенаправления. Отмените это, используя -L вариант:

$ curl -L -b cookies.txt https://my3account.three.ie/My_account_balance

Ссылка

Вы можете использовать -L вариант для curl, чтобы он следовал за перенаправлениями.