You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Python调用WordPress REST API遇到的认证问题

解决WordPress REST API发布文章的401认证问题(Kinsta托管环境)

看起来你遇到的核心问题是认证失败导致401错误,而调用根域名返回200只是说明服务器能正常访问,但根本没触发文章发布的API端点,所以自然不会有文章生成。结合Kinsta的托管环境,我给你梳理几个排查和解决的步骤:

1. 先确认Application Passwords的配置是否正确

  • 首先要确保你是在WordPress后台的管理员用户编辑页面创建的Application Passwords,生成的密码是一串随机的16位字符(不是你平时登录后台的密码),而且创建后要立刻保存好——刷新页面后就看不到完整密码了。
  • Kinsta默认支持Application Passwords,但如果你的网站安装了安全类插件(比如Wordfence),可能会限制API的认证请求,建议先临时禁用这类插件测试。

2. 检查Python请求的认证逻辑是否正确

WordPress的Application Passwords采用Basic Auth认证,你需要在请求中正确传递用户名和应用密码。这里给你一个标准的请求示例:

import requests
import os

# 推荐用环境变量存储敏感信息,不要硬编码
WP_USERNAME = "你的WordPress管理员用户名"
WP_APP_PASSWORD = os.getenv("WP_APP_PASSWORD")  # 或者直接填生成的应用密码(测试用)
API_URL = "https://my-website.com/wp-json/wp/v2/posts"

# 要发布的文章内容
post_payload = {
    "title": "API发布测试文章",
    "content": "这是通过Python调用WordPress API发布的内容",
    "status": "publish"  # 设为publish直接发布,默认是draft草稿
}

# 发送POST请求,必须带auth参数
response = requests.post(
    API_URL,
    json=post_payload,
    auth=(WP_USERNAME, WP_APP_PASSWORD)
)

# 打印调试信息,查看具体错误
print(f"状态码: {response.status_code}")
print(f"响应内容: {response.json()}")

注意几个关键点:

  • 必须用POST请求,GET请求只能获取文章列表,不能发布
  • 要传递json格式的payload,确保请求头里的Content-Type是application/json(requests的json参数会自动设置)
  • status字段如果不设为publish,文章会以草稿形式存在,你需要到后台草稿箱查看

3. 排查Kinsta托管环境的特殊限制

Kinsta的WAF(Web应用防火墙)或者Cloudflare集成可能会拦截未正确认证的API请求:

  • 登录Kinsta后台,进入你的网站的Security选项卡,临时关闭WAF测试一下,如果能成功发布,再调整WAF规则允许/wp-json/wp/v2/posts端点的POST请求
  • 确认你的网站SSL配置正常,必须用https请求,http请求会被Kinsta强制跳转,可能导致认证信息丢失

4. 用调试工具定位问题

如果还是报错,用curl或者Postman先测试API,排除Python代码的问题:

curl -X POST https://my-website.com/wp-json/wp/v2/posts \
-u "你的用户名:生成的应用密码" \
-H "Content-Type: application/json" \
-d '{"title":"CURL测试文章","content":"用CURL测试API发布","status":"publish"}'

如果curl请求成功,说明是Python代码的问题(比如拼写错误、参数传递错误);如果curl也返回401,那就是认证信息或者服务器配置的问题,此时查看返回的错误信息(比如"code": "invalid_username"或者"incorrect_password"),就能精准定位是用户名错了还是密码错了。

内容的提问来源于stack exchange,提问作者Richard BEN

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 18:44:06