2

私はPythonをまったく使用しておらず、http://ryushare.com/login.pythonのページにログインするためのスクリプトを作成しようとしています。

何度も試しましたが、ログインに失敗し、理由がわかりません。ページにログインした後、 http://ryushare.com/file-manager.pythonのリターンを取得したいです

これが私が他の人からの例を読んで試みようとしているコードです。

import urllib, urllib2, cookielib
username = 'myusername'
password = 'mypassword'

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
login_data = urllib.urlencode({'login' : username, 'password' : password})
opener.open('http://www.ryushare.com/login.python', login_data)
resp = opener.open('http://ryushare.com/file-manager.python')
print resp.read()

ログインページのソースコードを確認したところ、ユーザー名とパスワードの値が「ログインとパスワード」と表示されていたので変更しました。私はグーグルニュースフィードのようなここで見つけることができるいくつかの他の例を試しました、それはまたログインすることができません:(

4

1 に答える 1

1

ページのソースには、次の HTML があります。

<form method="POST" action="http://ryushare.com/" name="FL">

「アクション」ページを open() する必要があります。

opener.open('http://ryushare.com/", login_data)
# Now you can interact with site

http://www.w3schools.com/html/html_forms.asp :

送信ボタン

<input type="submit" />送信ボタンを定義します。

送信ボタンは、フォーム データをサーバーに送信するために使用されます。データは、フォームの action 属性で指定されたページに送信されます。action 属性で定義されたファイルは、通常、受け取った入力に対して何かを行います。

<form name="input" action="html_form_action.asp" method="get">
Username: <input type="text" name="user" /> <input type="submit"
value="Submit" /> </form>

上記の HTML コードがブラウザでどのように表示されるか:

ユーザー名:(エントリーボックス)

上のテキスト フィールドに文字を入力して [送信] ボタンをクリックすると、ブラウザは入力内容を「html_form_action.asp」というページに送信します。ページには、受信した入力が表示されます。

編集:その他のフォームデータ

コメントに見られるように、この修正を適用した後も OP に問題がありました。答えは、送信ボタンの など、非表示のフォーム タグがしばしばあるということです。これらのタグのデータと、ユーザー名とパスワードをリクエストに含めてください。

于 2012-07-10T03:13:50.003 に答える