You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RestSharp返回空值求助:Postman请求正常但代码无数据返回

问题分析与解决方法

核心问题

你这段代码的关键错误是给GET请求添加了请求体(RequestBody)。虽然Postman等工具允许GET请求带请求体,但HTTP规范中GET请求并不推荐携带请求体,很多服务器会直接忽略GET请求的请求体内容,导致参数无法被正确接收,最终返回空值。

修正方案

把原请求体中的参数改为查询参数(Query Parameters),这是GET请求传递参数的标准方式,修正后的代码如下:

ServicePointManager.Expect100Continue = true;
ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12;

var client = new RestClient("url");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Basic mytoken");

// 将分页、日期参数转为查询参数
request.AddQueryParameter("size", "1");
request.AddQueryParameter("page", "1");
request.AddQueryParameter("start_date", "2022-01-02");
request.AddQueryParameter("end_date", "2022-01-03");

IRestResponse response = client.Execute(request);
MessageBox.Show(response.Content);

额外说明

  1. 移除了Content-Type: application/json请求头——GET请求没有请求体,这个头完全多余,反而可能让服务器产生误解。
  2. Postman能成功的原因:Postman对GET请求带请求体的场景做了兼容处理,可能自动将请求体内容转换为查询参数,或者你的服务器对Postman的请求做了特殊兼容,但RestSharp的处理更符合HTTP规范,所以必须按标准方式传递参数。

内容的提问来源于stack exchange,提问作者boylang78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 20:55:17