吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 884|回复: 8
收起左侧

[求助] 请帮忙解决python request库 提交数据的问题

[复制链接]
plaodj 发表于 2022-9-25 16:33
不知道为什么  提交的数据 服务器 返回   {"msg":"系统错误","code":1002}

正确应该返回  {"result":{"score":5,"paperstaffId":97959604,"IsRandom":1},"msg":"succ","code":1001}  (主要是为了获取 result 里面的 score 值)

通过http debugger pro 抓包发现  正常操作提交的数据是

[Plain Text] 纯文本查看 复制代码
[
   {
      "checkOption" : 1335,
      "questionId" : 416,
      "status" : 0
   },
   {
      "checkOption" : 1471,
      "questionId" : 450,
      "status" : 0
   },
   {
      "checkOption" : 1332,
      "questionId" : 415,
      "status" : 0
   },
   {
      "checkOption" : "1548,1549,1550,1551",
      "questionId" : 469,
      "status" : 0
   },
   {
      "context" : "F",
      "questionId" : 496,
      "status" : 0
   }
]



而我提交的数据格式
[Plain Text] 纯文本查看 复制代码
[{"checkOption": "1477,", "questionId": 451, "status": 0}, {"checkOption": "1381,", "questionId": 427, "status": 0}, {"checkOption": "1392,", "questionId": 430, "status": 0}, {"checkOption": "1562,1563,1564,1565,1566,", "questionId": 472, "status": 0}, {"context": "T", "questionId": 493, "status": 0}]


因为每次提交前的内容不同  所以 值 也不同   只请注意 数据格式里面  单引号 双引号 以及 值后面是否还有其它符号

我认为应该是 单引号 双引号 以及其它符号的问题    因为数据是在python里面操作   采用  json.dumps 生成的    既然感觉是这个问题

那我试着自己组建这个的数据格式,因为以前试过简单的
data = {
        'SFZ': sline,
        'PAGEINDEX': '1',
    }

也没报错   

于是
[Plain Text] 纯文本查看 复制代码
allda2 = {
    [
        {
            "context": 'F',
            "questionId": 496,
            "status": 0
         },
        {
            "checkOption": "1548,1549,1550,1551",
            "questionId": 469,
            "status": 0
         },
        {
            "checkOption": '1335,',
            "questionId": 416,
            "status": 0
         },
        {
            "checkOption": 1471,
            "questionId": 450,
            "status": 0
         },
        {
            "checkOption": 1332,
            "questionId": 415,
            "status": 0
         }
    ]
}


结果在 request 语句里面   data=allda2  有橙色波浪线  
QQ图片20220925162534.png

运行后 程序报错  

Traceback (most recent call last):
  File "E:/PycharmProjects/pythonProject1/test5.py", line 60, in <module>
    allda2 = {
TypeError: unhashable type: 'list'


问题:
自己组建数据格式不行
python json库产生的json 服务器又报错   怎么搞才好呢?

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

youth96 发表于 2022-9-25 16:37
网站api和对应源码部分给下,

requests.post(url,data=allda2)
这样出错的吗
jingtai123 发表于 2022-9-25 16:40
作为字典dict  转JSON数组少个key

要看你的代码咋处理的
youth96 发表于 2022-9-25 16:43
[Python] 纯文本查看 复制代码
allda2 =  [
        {
            "context": 'F',
            "questionId": 496,
            "status": 0
         },
        {
            "checkOption": "1548,1549,1550,1551",
            "questionId": 469,
            "status": 0
         },
        {
            "checkOption": '1335,',
            "questionId": 416,
            "status": 0
         },
        {
            "checkOption": 1471,
            "questionId": 450,
            "status": 0
         },
        {
            "checkOption": 1332,
            "questionId": 415,
            "status": 0
         }
    ]
requests.post(url,data=allda2 ) 
#这样就可以,不需要再加{},具体还要看下你对应的api,你这写法就不对
 楼主| plaodj 发表于 2022-9-25 17:23
youth96 发表于 2022-9-25 16:43
[mw_shl_code=python,true]allda2 =  [
        {
            "context": 'F',

我是这样的
sfcsm 发表于 2022-9-25 17:27
本帖最后由 sfcsm 于 2022-10-9 17:25 编辑

你抓下你发出去的包,对比一下

免费评分

参与人数 1吾爱币 -2 收起 理由
三滑稽甲苯 -2 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

fanvalen 发表于 2022-9-25 17:30
跟你说一下错在那原本你的数据是一个列表中嵌了一个字典,web叫json,但是你传输时又加了一层字典,关键是字典你既没有键也没有值不报错才怪
字典是一个什么样的{1:[0]}
laobenlang 发表于 2022-9-25 21:23
我感觉怎么是下面这句的问题呀:
[JavaScript] 纯文本查看 复制代码
"checkOption": '1335,',


你的报错内容不是列表不能转换么?
unhashable type: 'list'
这个  1335,换成数字类型的1335试试呢。
一旧云 发表于 2022-9-26 12:30
你抓下你发出去的包,对比一下不就知道哪不对了嘛
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 07:24

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表