python 如何修复错误的请求

python how to fix wrong request

我正在发送登录 Web 的请求,但我手动登录检查了服务器发回的内容并尝试复制此 json 格式并进行编辑。但是没有成功。

 logindata = {"p_json": {"salt": "37832371416286084378080214994328475118",
                        "pageItems": {"itemsToSubmit": [{"n": "P101_LINGUA_RILEVATA", "v": ""},
                                                        {"n": "P101_USERNAME", "v": "XXXXXXXXX"},
                                                        {"n": "P101_PASSWORD", "v": "YYYYYYYYY"},
                                                        {"n": "P101_LINGUA", "v": "it"}],
                                      "protected": "JipTylR4bB8lKI8I2VBSlQ",
                                      "rowVersion": ""}},
             "p_flow_id:": 112,
             "p_flow_step_id": 101,
             "p_instance": 14658069797106,
             "p_page_submission_id": 173195393854667729155471500057846249278,
             "p_request": "P101_LOGIN",
             "p_reload_on_submit": "A"}

在这里您可以看到我尝试发送的内容,但是如果我将此 json 与 fiddler 和 post 请求进行比较,我通过登录网站进行请求,这是不正确的。 这就是我的 json 在 post 请求中的样子: enter image description here

它应该是这样的格式:enter image description here

我可以更改 salt 和其他安全参数,但为什么我在图 1 中的 Json 与原来的 post 不一样?

我尝试用多种方法格式化可变登录数据,但没有成功在 fiddler 中看到已发送请求的正确格式

已解决, 有必要对所有键进行迭代,并为每个键做 json.dumps() 以确保字符串将在键中发送。