2016-08-10 9 views
-1

要求にウェブサイトでのログインが、私は試してみるのすべてが動作しません:私が要求してウェブサイトで私がログインする必要があり

from bs4 import BeautifulSoup as bs 
import requests 
s = requests.session() 
url = 'https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5' 


def authenticate(): 
    headers = {'username': 'myuser', 'password': 'mypasss', '_Id': 'submit'} 
    page = s.get(url) 
    soup = bs(page.content) 
    value = soup.form.find_all('input')[2]['value'] 
    headers.update({'value_name':value}) 
    auth = s.post(url, params=headers, cookies=page.cookies) 

authenticate() 

か:

import requests 

payload = { 
    'inUserName': 'user', 
    'inUserPass': 'pass' 
} 

with requests.Session() as s: 
    p = s.post('https://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5', data=payload) 
    print(p.text) 
    print(p.status_code) 
    r = s.get('A protected web page url') 
    print(r.text) 

私はこれを試してみてください.status_codeの場合は200を返しますが、401の場合や403の場合は 'ログインの場合'のようなスクリプトを実行します。

これは私が見つけましたが、Python 2では動作しますが、Python 3と私変換する方法がわからない...:

import requests 
import sys 

payload = { 
    'username': 'sopier', 
    'password': 'somepassword' 
} 

with requests.Session(config={'verbose': sys.stderr}) as c: 
    c.post('http://m.kaskus.co.id/user/login', data=payload) 
    r = c.get('http://m.kaskus.co/id/myform') 
    print 'sopier' in r.content 

誰か知っていますか? 私はテストテストを行っているので、私が見つけたすべてのスクリプトは動作しません。

答えて

0

ログオンを送信すると、https://www.ent-place.fr/CookieAuth.dll?LogonではなくPOST要求がhttps://www.ent-place.fr/CookieAuth.dll?GetLogon?curl=Z2F&reason=0&formdir=5に送信されます。その後、そのURLにリダイレクトされます。私はこれをテストした

、POSTリクエストは、次のパラメータが含まれています

curl:Z2F 
flags:0 
forcedownlevel:0 
formdir:5 
username:username 
password:password 
SubmitCreds.x:69 
SubmitCreds.y:9 
SubmitCreds:Ouvrir une session 

だから、あなたは可能性が高いだけでなく、これらの追加のパラメータを指定する必要があります。

また、s.post(url, params=headers, cookies=page.cookies)という行は正しくありません。 をキーワード引数dataに渡す必要はありません。params - paramsはリクエストURLにエンコードされていません。フォームデータに渡す必要があります。そして、私はあなたが本当にあなたがheaders

s.post(url, data=headers, cookies=page.cookies) 

を言うときあなたはログインフォームを処理するとき、あなたがにログインしようとしているサイトはonClickのJavaScriptを持っている​​を意味すると仮定しています。 requestsはJavaScriptを実行できません。これにより、サイトの機能に問題が発生する可能性があります。

+0

ありがとうございますが、とにかく動作しません... – mson

関連する問題