首页 新闻 会员 周边

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 | 初学一级 | 园豆:97
提问于: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 | 小虾三级 |园豆:1511 | 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 | 园豆:97 (初学一级) | 2019-11-08 17:06

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

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

@codingHeart:

都试过了 呜呜呜

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

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

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

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

huihui_teresa | 园豆:97 (初学一级) | 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 | 园豆:1511 (小虾三级) | 2019-11-08 18:52

@codingHeart: 你这没解决根本问题吧 ,你这是post方式 ,测试通过只能说明对方接口改了!我也遇到这个问题,这样请求对方返回 接口不支持post

文青 | 园豆:202 (菜鸟二级) | 2020-02-05 23:26
其他回答(4)
0
收获园豆:10
czd890 | 园豆:14412 (专家六级) | 2019-11-08 16:56
0

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

收获园豆:10
小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2019-11-08 18:53

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

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

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

支持(0) 反对(0) 小小咸鱼YwY | 园豆:3210 (老鸟四级) | 2019-11-11 09:24

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

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

我也遇到这个问题 ,目前还没解决

文青 | 园豆:202 (菜鸟二级) | 2020-02-05 23:27

我们没解决,最后联系第三方把接口改为post请求了。

支持(0) 反对(0) huihui_teresa | 园豆:97 (初学一级) | 2020-06-18 20:22
0

怎么解决的

慌无计蛋 | 园豆:202 (菜鸟二级) | 2020-04-18 14:04

我们没解决,最后联系第三方把接口改为post请求了。

支持(0) 反对(0) huihui_teresa | 园豆:97 (初学一级) | 2020-06-18 20:23
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册