2017-04-22 4 views
2
import requests 

with requests.Session() as s: 
    headers1 = {'Cookie':'wordpress_test_cookie=WP Cookie check'} 
    datas={'log':'admin','pwd':'admin','wp-submit':'Log In','redirect_to':'/wordpress/wp-admin/','testcookie':'1'} 
    s.post("http://ip/wordpress/wp-admin",headers=headers1,data=datas) 
    re = s.get("http://ip/wordpress/wp-admin").text 
    print (re) 

このコードでは、私は自分のwordpressにログインできるはずですが、動作しません。 Webプロキシを使用して、ログインボタンをクリックすると、ブラウザがセッションクッキーをWebサーバーに送信することがわかりました。 Pythonでは、私はその作業を行う方法がわからず、私の仮説は次のとおりです。ポストリクエスト(ログインフォーム)を送信するときにクッキーを送信する方法を見つける必要があります。ログインしてWordPressでリクエストする - Python3

答えて

2

あなたのコードは大丈夫ですが、それはまだヘッダ

で「ユーザーエージェント」「のReferer」としてみてください動作しない場合は、 /wp-admin/

wp_login = 'http://ip/wordpress/wp-login.php' 
wp_admin = 'http://ip/wordpress/wp-admin/' 
username = 'admin' 
password = 'admin' 

with requests.Session() as s: 
    headers1 = { 'Cookie':'wordpress_test_cookie=WP Cookie check' } 
    datas={ 
     'log':username, 'pwd':password, 'wp-submit':'Log In', 
     'redirect_to':wp_admin, 'testcookie':'1' 
    } 
    s.post(wp_login, headers=headers1, data=datas) 
    resp = s.get(wp_admin) 
    print(resp.text) 

を、/wp-login.phpにポストデータを提出してはなりません

関連する問題