首页新闻找找看学习计划

get请求传body参数

0
悬赏园豆:50 [已解决问题] 解决于 2019-11-12 09:58

大神们问个问题
我是.net,别人提供的接口,get请求,但是参数是在body里面json的形式;之前遇到的get请求都是直接拼接的url。提供接口方,他们这是restfull标准接口,不会去修改。但是我真的调不出来了。(接口用postman和python的request库能成功,他们给的demo是python)

百度了个,说是restshap可以,但是也不行,json数据传不过去。
地址: https://www.cnblogs.com/lidaying5/p/10797642.html

啊啊啊啊,疯了

huihui_teresa的主页 huihui_teresa | 初学一级 | 园豆:158
提问于:2019-11-08 16:48
< >
分享
最佳答案
0

request.AddParameter("undefined", "{\r\n\t"service": "WaybillService",\r\n\t"api_username": "erptest",\r\n\t"api_key": "78BE1BCAAED1EE08D344F894FBB296D3",\r\n\t"waybill": [{\r\n\t\t"orderid": "460692315855",\r\n\t\t"waybillno": "ML18082997131401_15"\r\n\t}]\r\n}", ParameterType.RequestBody);

这一句有问题,undefined。

收获园豆:30
codingHeart | 小虾三级 |园豆:1557 | 2019-11-08 17:00

但是postman中的restshap代码就是这样的。

这是错误:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<title>400 Bad Request</title>
<h1>Bad Request</h1>
<p>Invalid JSON data: ''</p>

huihui_teresa | 园豆:158 (初学一级) | 2019-11-08 17:06

@huihui_teresa: request.AddJsonBody();你这方法

codingHeart | 园豆:1557 (小虾三级) | 2019-11-08 17:11

@codingHeart:

都试过了 呜呜呜

huihui_teresa | 园豆:158 (初学一级) | 2019-11-08 17:15

@huihui_teresa:
我这是可以请求成功 但请求参数格式不对

codingHeart | 园豆:1557 (小虾三级) | 2019-11-08 18:00

@codingHeart:
能加下微信吗?
我的微信号:huihui_teresa

huihui_teresa | 园豆:158 (初学一级) | 2019-11-08 18:23

@huihui_teresa:

var client = new RestClient("https://orapi-stg.trackmeeasy.com/lomp-ext/sf-express/waybillService/getAgentNo");
var request = new RestRequest(Method.POST);
request.AddHeader("Accept", "/");
request.AddHeader("Content-Type", "application/json");
request.AddJsonBody(new { service = "WaybillService", api_username = "erptest", api_key = "78BE1BCAAED1EE08D344F894FBB296D3", waybill = new object[] { new { orderid = "460692315855", waybillno = "ML18082997131401_15" } } });
IRestResponse response = client.Execute(request);
Console.WriteLine(response.Content);

测试通过了。

codingHeart | 园豆:1557 (小虾三级) | 2019-11-08 18:52
其他回答(2)
0
收获园豆:10
czd890 | 园豆:7575 (大侠五级) | 2019-11-08 16:56
0

能说的详细点吗?他们可能不会改源码罢了,
你以Params提交就好了就不会再body里面了
你进行ajax进行提交就行了
注意一定要设置请求头参数Content-Typeapplication/json

收获园豆:10
小小咸鱼YwY | 园豆:861 (小虾三级) | 2019-11-08 18:53

不能用params提交,放在body中在postman中才能请求成功;另外,参数是json格式的,没法以params提交呢。

支持(0) 反对(0) huihui_teresa | 园豆:158 (初学一级) | 2019-11-11 09:21

@huihui_teresa: 那你就错咯,如果只是个普通json比如 {'a':111,'b':2}`就可以xxxxxx/?a=111&b=2

支持(0) 反对(0) 小小咸鱼YwY | 园豆:861 (小虾三级) | 2019-11-11 09:24

@小小咸鱼YwY: 他们不是普通的,是有嵌套的

支持(0) 反对(0) huihui_teresa | 园豆:158 (初学一级) | 2019-11-12 09:57
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册