1

このスクリプトは、200の応答オブジェクトを取得し、Cookieを取得し、redditのストックホームページソースを返すことに成功します。ただし、ログイン後にのみアクセスできる「最近のアクティビティ」サブページのソースを取得することになっています。これにより、適切にログインできなかったと思いますが、ユーザー名とパスワードは正確です。これを再確認しました。

#!/usr/bin/python
import requests
import urllib2

auth = ('username', 'password')
with requests.session(auth=auth) as s:
    c = s.get('http://www.reddit.com')
    cookies = c.cookies
    for k, v in cookies.items():
            opener = urllib2.build_opener()
            opener.addheaders.append(('cookie', '{}={}'.format(k, v)))
            f = opener.open('http://www.reddit.com/account-activity')
            print f.read()
4

2 に答える 2

0

標準の「HTTP基本」認証を使用しているようです。これは、RedditがWebサイトにログインするために使用するものではありません。(ほとんどのWebサイトはHTTP Basic(認証を要求するモーダルダイアログボックスをポップアップします)を使用しますが、独自のユーザー名/パスワードフォームを実装します)。

ホームページを取得し、ログインフォームのフィールドを読み取り、ユーザー名とパスワードを入力し、応答をWebサイトにPOSTして、結果のCookieを取得し、今後のリクエストでCookieを使用する必要があります。あなたが解決するための他の詳細もかなりあるかもしれませんが、あなたは実験する必要があります。

于 2012-02-10T07:31:36.810 に答える
-1

同じ問題が発生しているのではないかと思います。ステータスコード200okを取得します。しかし、スクリプトは私にログインしませんでした。私はいくつかの提案と助けを得ています。うまくいけば、あなたもあなたのために働くものを私に知らせてください。redditも同じシステムを使用しているようです。

私の問題が議論されているこのページをチェックしてください。 aspxサイトでのリクエストを使用した認証の問題

于 2016-07-26T05:19:59.570 に答える