xmlrpc.client.Fault: 403 用户名或密码不正确

overme2个月前 (10-17)网页设计706

背景描述:想着把原来Discuz平台网站转换到Wordpress博客平台,但是手动转移几千个帖子,工作量很大。于是,想着要开发一个Python自动化程序来完成Discuz转移Wordpress的工作。

使用Wordpress的XML-RPC功能进行文章自动化发布时,按标准设置了用户名和密码以及文章的格式,如下代码所示:

post = {
            'blog_id': '1',
            'username': wp_username,
            'password': wp_pass,
            'content': {
                'title': get_content[0],
                'description': get_content[3],
                'mt_keywords': get_content[1],
                'mt_excerpt': get_content[3].text[:45],
                'mt_allow_comments': '1',
                'mt_allow_pings': '1',
                'wp_slug': '',
                'categories': [get_content[2]],
                'wp_password': '',
                'publish': True,
            }
        }
但是代码执行时,抛出了错误xmlrpc.client.Fault: 403 用户名或密码不正确。这是怎么回事呢?

原因分析:小编在配置用户名和密码时,使用的是Wordpress后台登录用户和密码。查询了相关资料,通过第三方程序工具XML-RPC客户端发布文章,需要使用单独的应用程序密码。

如何开启和设置应用程序密码

在Wordpress后台找了很多地方,包含设置_撰写等位置都没有找到应用程序密码,最终在用户管理,用户编辑的底部找到了该设置,但该位置没有设置框。提示内容:可能处于开发环境等不是https的环境中,尝试设置环境状态后设置框可显示。

按着这个提示,进行了config.php文件环境的配置,但是配置修改后仍然没有出现应用程序密码设置框。

最终解决方法:

进入插件菜单,搜索Application Passwords Enable这个插件安装并启用,然后再回到用户编辑界面,底部应用程序密码区域就出现设置框了。使用方法:填写一个用于区别的应用程序名称,然后点击“新增的应用程序密码”,系统将自动生成一串密码,需要自行记录保存该密码,页面刷新后密码将不再显示。

将获取的应用程序密码,更新到Python程序中,用户名还是之前的用户名,再尝试登录发布就可以了!

相关文章


		常用Web服务器介绍WordPress服务器

常用Web服务器介绍WordPress服务器

WordPress是使用PHP语言开发的开源发布平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的博客、网站。也可以把WordPress当作一个内容管理系统(CMS)来使用。作为...

Wordpress如何开启用户注册功能

Wordpress如何开启用户注册功能

登录到WordPress管理员后台:首先在浏览器中输入你的网站域名,此处用的phpstudy创建的localhost地址。Wordpress的默认管理员登录地址是http://localhost/wp...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。