吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 3980|回复: 21
收起左侧

大吐血求救 - 关于易语言POST json 求助 - 四川省外出务工人员健康申报和查询系统

[复制链接]
连晋 发表于 2020-2-20 20:45
1000吾爱币



目前在写 四川省外出务工人员健康申报和查询系统的 windwos 版本
(写这个是因为 网页版总是报错  ... 所以 抓了他的包 打算自己写一份 分享出来给大家用)
如图
4.png
因为 网页版的总是报错 和超时


基本所有功能都写完了 目前遇到的问题是  


我post 数据的时候     在postman 中 发包是没问题的
但是在 易语言中  使用 精易模块 提供的 网页_访问_S 发送  服务器 响应的 是  服务器错误


首先是 编码问题 我是解决了的    提交的数据 = 编码_gb2312到utf8 (提交的数据)


其次   传输的数据是json   附加协议头  application/json;charset=UTF-8   我也加了


还有提交的数据 肯定是一摸一样的 因为post man中提交的数据就是我 易语言 调试打印出来的


还有提交的数据  和postman 一模一样  但是就是postman 提示保存成功 但是易语言就是返回 服务器错误   请问 这种问题怎么解决哇?  有大佬可以帮忙 解答一下吗?
下面附图:


post 是没问题的


1.png


但是易语言 就是报错

3.png


以下是 易语言的 部分涉及到提交POST的代码  和数据


5.png



提交 url


http://jkcx.sc.gov.cn/jkxxtb/personnel/healthRegistration/save     post 提交    utf-8 编码


提交数据中     具有隐私部分的数据我已经 修改 为XXX  或者需要大家自己填写


{
   "age": "30",
   "appearType": "3,4,",
   "arriveAddress": "XXX街XXX号",
   "arriveCityCode": "510100",
   "arriveCityName": "XX市",
   "arriveCountyCode": "510116",
   "arriveCountyName": "XX区",
   "arriveProvinceCode": "510000",
   "arriveProvinceName": "XX省",
   "birthday": "1990-2-2",
   "gqjzAddress": "XX市X市南溪区工字街58号;",
   "idcard": "这里诸位替换为随机一个身份证号码",
   "medicalNstitutionCode": "510000009380",
   "medicalNstitutionId": "1234583170",
   "medicalNstitutionName": "XXXXXX卫生院",
   "occurrenceTime": "2020-03-18 00:00:00",
   "personnelRegistrationAddressList": [
      {
         "address": "XXXX58号",
         "addressType": "4",
         "cityCode": "510300",
         "cityName": "自贡市",
         "countyCode": "511503",
         "countyName": "南溪区",
         "provinceCode": "110000",
         "provinceName": "北京市"
      }
   ],
   "preventionStationCode": "",
   "preventionStationName": "",
   "protectAddress": "XXXX58号",
   "protectCityCode": "511500",
   "protectCityName": "宜宾市",
   "protectCountyCode": "511503",
   "protectCountyName": "南溪区",
   "protectProvinceCode": "510000",
   "protectProvinceName": "四川省",
   "sex": "M",
   "situationDescription": "8,9,",
   "systemCode": null,
   "telephone": "13000000000",
   "userName": "
张三"
}






最佳答案

查看完整内容

Content-Type: application/json; charset=UTF-8 带这个

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

yuyehk 发表于 2020-2-20 20:45
连晋 发表于 2020-2-20 20:57
文中写了 带了协议头的  ,    cookie 不需要带 这个接口不需要提供 cookie

  postman中也没带 cookie ...

Content-Type: application/json; charset=UTF-8
带这个
yuyehk 发表于 2020-2-20 20:57
 楼主| 连晋 发表于 2020-2-20 20:57
yuyehk 发表于 2020-2-20 20:57
带协议头和cookie

文中写了 带了协议头的  ,    cookie 不需要带 这个接口不需要提供 cookie

  postman中也没带 cookie 哈
浴火凤凰_2020 发表于 2020-2-20 21:06
找个抓包工具 抓一下postman正常的数据包和 易语言错误的数据包。然后使用比较工具 比如winMerge 比较一下。
针对单个请求来说,服务器是不知道你拿什么发送给他的。
易语言写的程序 Python写的程序 Java程序  postman对于服务器来说 都是一样的。
不一样的话,那爬虫就没法写了。
错误可能的原因:
1.postman和易语言的包内容不一样!!!

这里的不一样不仅仅是发送的post体  还包括请求头部等信息。使用比对工具
显示 二进制内容相同  才算一样   肉眼认为的一样绝对不可信!!!
2.编程语言发送的频繁,被服务器检测到了 报错。因为使用浏览器和postman之类
很少在短时间发送大量的数据包,而编程语言很常见
3.运气不好,服务器在收到postman的请求时没事,恰好在收到编程语言的请求时报错了。

希望楼主好好看看我说的。希望能帮到楼主。

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
连晋 + 1 + 1 感谢热心回复 问题解决了

查看全部评分

longsui48 发表于 2020-2-20 21:10
emmm 你的错误很简单啊
longsui48 发表于 2020-2-20 21:12
再好好检查一下 你的协议头 application/json;charset=UTF-8 它是什么东西
协议头都是key和value键值对出现的 你的这个协议头的key呢?

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
连晋 + 1 + 1 key 确实忘记加了 我其他接口都有的 抱歉有人抢答了 感谢回复

查看全部评分

naiwenmoer1 发表于 2020-2-20 21:16
协议头里面不要用#换行符试试,直接用文本常量
米饭大师 发表于 2020-2-20 21:25
只要有个请求能够成功,易语言肯定也没问题。   你提交的数据文字都看不懂是什么了
i990049 发表于 2020-2-20 21:27
为什么要用易语言?所见即所得的网页软件多的是,楼主,要不要我发一个手机二维码填写相关个人流行病信息的页面给你参考一下?
返回列表

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

GMT+8, 2024-11-25 09:50

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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