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

使用Python Requests完成网站注册时遭遇form_validation_error错误求助

使用Python Requests完成网站注册时遭遇form_validation_error错误求助

看起来你在用Python Requests处理网站注册流程时碰到了验证码相关的表单验证问题,我来帮你梳理下问题根源和可能的解决方向。

你遇到的错误信息

{"account_created": false, "errors": {"force_sign_up_code": [{"message": "That code isn't valid. You can request a new one.", "code": "email_code_incorrect"}]}, "status": "ok", "error_type": "form_validation_error"}

这个错误的核心很明确:你提交的force_sign_up_code无效,服务器不认这个验证码。结合你的代码片段来看,问题大概率出在验证码的获取、存储或者传递环节。

你的关键代码片段

###################### Signup Code ######################

response_json = register_verification_code_post.json()
signup_code = response_json['signup_code']
print("Signup code:", signup_code)

###################### Final ######################

finish_account_creation_post = {
    'email': email,
    'username': username,
    'first_name': first_name,
    'tos_version': 'row',
    'day': '24',
    'month': '8',
    'year': '1996',
    'force_sign_up_code': signup_code
}

finish_account_creation_headers = {
    # 你的请求头内容
}

可能的排查和解决步骤

  • 先检查验证码的时效性:绝大多数网站的注册验证码都有有效期(一般5-15分钟),如果你获取验证码后隔了很久才提交注册请求,验证码早就过期失效了。建议你修改代码,在获取到signup_code后立刻发起注册请求,看看能不能解决问题。
  • 确认验证码和邮箱的对应关系:有没有可能你在测试过程中多次请求了验证码,但代码里用的还是旧的那一个?比如你先请求了一次验证码,后来又重新发了一次请求拿新的,但变量里存的还是旧值。可以在打印验证码的时候顺便打印对应的邮箱,确保每个验证码都和当前要注册的邮箱匹配。
  • 补全请求头的必要字段:你提供的请求头部分不完整,很多网站会校验请求头的合法性,比如User-Agent(模拟真实浏览器)、Referer(来源页面)、Cookie(会话标识)这些字段。尤其是Cookie,服务器通常会在你请求验证码的时候设置会话Cookie,后续的注册请求必须携带这个Cookie,才能让服务器把验证码和你的会话关联起来。建议你用浏览器的开发者工具抓一次正常注册的请求,对比着把缺失的请求头补上。
  • 验证验证码的格式是否正确:有些网站的验证码可能有特殊格式要求,比如区分大小写、需要加特定前缀后缀,或者是需要转码?你可以手动在浏览器里走一遍注册流程,抓包看看正确的force_sign_up_code值是什么样的,再和你代码里打印出来的signup_code对比,看看是不是格式不一致。
  • 检查请求的编码方式:确认你发送注册请求时用的是正确的参数传递方式。如果网站要求的是application/json格式,那你应该用requests.post(url, json=finish_account_creation_post, headers=...);如果是application/x-www-form-urlencoded,就用data=...。传错格式的话,服务器可能无法正确解析验证码参数。

备注:内容来源于stack exchange,提问作者Dkdkdkk

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.17 10:15:31