2017-03-04 16 views
0

私はhttpフォームを投稿して回答を得ようとしています。私は "要求"が行く方法かもしれないと理解しています。私はこのページのログインフォームに投稿しようとしています:www.dust2.dk/ログインして、エラーを受信したかどうかを確認してください。 "Der er ikke registreret nogen bruger med den email"メール)Pythonが投稿フォームを投稿しました

何とかフォームが投稿されていないか、レスポンスが保存されていません。私は解決策を探してみましたが、無駄です。私は単にページwww.dust2.dk/Loginのソースを取得し、私は応答Rをプリントアウトした場合、「!いや努力を続ける」:あなたは結果は推測するかもしれませんがここに私のコード

#!/usr/bin/env python3 
# -*- coding: utf-8 -*- 

#imports 
import requests 

#code 
def main(): 

     r = requests.post('http://dust2.dk/Login', data = {'email' : '[email protected]', 'password' : 'testest'}) 

     if 'Der er ikke registreret nogen bruger med den email' in r.text: 
       print 'You done did it mate!' 
     else: 
       print 'Nope! Keep trying' 

です。私がここで間違っているかもしれないことの指針はありますか?

+0

「r」の内容と応答コードを出力します。なぜ答えが出てきたら、何が起こっているのか推測するのはなぜですか? –

+0

Im not guessing :)間違ったメールでフォームを送信すると、そのエラーが表示されます。私は単純にpythonを使って自分自身をスクロールする代わりに、私のためにhtml応答を検索させる。言いたいことを忘れていましたが、レスポンスは単に元のページのコードです:www.dust2.dk/Login。私は私の質問を更新します。 – n0rd

+0

ウェブサイトが 'email'と' password'という名前のフィールドを期待していることをどう知っていますか?この質問はあまりにも幅広く、前後にトンを出すことなく答えられることはありません。あなたはPython経由でログインするためのヘルプについてウェブサイトのオペレータに尋ねるべきです。 –

答えて

0

先日、Pythonで投稿リクエストを送信することで、何か似たようなことをする必要がありました。私はthisに続いた。あなたは、urllibとurllib2をインポートして使用する必要があります。

import urllib 
import urllib2 

url = 'http://dust2.dk/Login' 
values = {'email' : '[email protected]', 
      'password' : 'blahblah'} 

data = urllib.urlencode(values) 
req = urllib2.Request(url, data) 
response = urllib2.urlopen(req) 
the_page = response.read() 

EDIT:あなたは、Python 3 を使用している場合、実際にそれが何をしたいかどうかを確認しない代わりにthisガイドに従ってください。

+0

ありがとうございます。私は実際には、より高度なサイトでurllib(2)を使い始めました。これは動作できませんでした。現在のサイトでコードを試し、結果を報告します。 – n0rd

+0

この例では不運です。同じ問題。ページを印刷すると、元のページが表示されます。私もあなたが言及したガイドを試してみます。 – n0rd