web-dev-qa-db-ja.com

クッキーでのカールの使用

私は誰かがこれを手伝ってくれることを願っています。私はこれをしばらく試してきましたが、さまざまなバリエーションがあり、うまくいくようには見えません。

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>

ここで何が起こっているのか理解できません。誰が何が問題になっているのか、あるいはこれを改善する方法を知っている人はいますか?

ありがとう

3
user1718443

最初にログインページにリダイレクトすることで、Cookieに保存されているセッションをWebサイトが認証している可能性があります。次に、ログインページは、リダイレクト中に「サービス」パラメータとして設定された適切なページにリダイレクトされます。

Curlはデフォルトではリダイレクトを追跡しません。 -Lオプションを使用してこれをオーバーライドします。

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

参考

4

-L curlがリダイレクトに従うようにするためのオプション。

1
Josip Rodin