python - 使用请求登录 Wordpress - Python3

标签 python wordpress session python-requests

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,但是不起作用。使用网络代理,我发现当点击登录按钮时,我的浏览器会向网络服务器发送一个 session cookie。使用 Python,我不知道如何完成该任务,我的假设是:我需要找到一种在发送发布请求(登录表单)时发送 cookie 的方法。

最佳答案

你的代码没问题,但是你应该将post数据提交到/wp-login.php,而不是/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)

如果它仍然不起作用,请尝试在 header 中使用“Referer”和“User-Agent”

关于python - 使用请求登录 Wordpress - Python3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43562550/

相关文章:

python - 无法将 django 对象传递到 Angular 前端

python - 使用ctypes在python中分配的C中写入缓冲区,并在python中再次读回

python - 在 Python 3 中实现抽象方法

python - 交易中的交易

asp.net - 我们可以使用 WordPress 或将 WordPress 与 ASP.NET 集成吗?

python - 在保存到数据库之前在 session 中使用实例

ios - session 存储在设备中不起作用

jquery - 将 jQuery Validate 插件与 TinyMCE 编辑器结合使用

javascript - 当我调用tinymce.init 时,Wordpress tinymce 编辑器会发生变化

php - Codeigniter: session 无法在实时网站上运行