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

使用RestSharp调用LetterXpress API认证失败,疑JSON语法有误

问题分析与修复

核心问题

你的代码存在两个关键问题导致认证失败:

  1. AddJsonBody用法错误:AddJsonBody的作用是将.NET对象自动序列化为JSON字符串作为请求体,但你传入的是手动拼接好的JSON字符串,这会让RestSharp对该字符串再次进行JSON序列化,最终发送的请求体是被转义的嵌套字符串(比如"{\"auth\":{...}}"),服务器无法正确解析认证信息。
  2. GET请求携带请求体不符合HTTP规范:虽然少数服务器支持GET请求带请求体,但这并非标准做法。Postman能正常运行,大概率是因为你在Postman中使用的是POST方法,而非GET。

修复方案

方案1:用.NET对象自动序列化(推荐)

直接创建认证对象,让RestSharp处理JSON序列化,同时匹配Postman的请求方法(如果Postman用POST,就把Method.GET改成Method.POST):

var client = new RestClient("https://api.letterxpress.de/v2/balance");
// 替换为Postman中实际使用的请求方法,比如Method.POST
var request = new RestRequest(Method.POST);
request.AddHeader("Content-Type", "application/json");

// 创建认证实体对象
var authPayload = new {
    auth = new {
        username = "LXPApi1",
        apikey = "442807b35e250ec767221fe3ba",
        mode = "live"
    }
};
// 传入对象,RestSharp自动生成正确的JSON
request.AddJsonBody(authPayload);

IRestResponse response = await client.ExecuteAsync(request);
string meinString = response.Content;
textBox4.Text = meinString;

方案2:手动拼接JSON时用AddStringBody

如果坚持手动拼接JSON,需要使用AddStringBody避免重复序列化:

var client = new RestClient("https://api.letterxpress.de/v2/balance");
var request = new RestRequest(Method.POST); // 匹配Postman的请求方法
request.AddHeader("Content-Type", "application/json");

// 使用@符号避免转义,让JSON格式更清晰
string jsonString = @"
{
    ""auth"": {
        ""username"" : ""LXPApi1"",
        ""apikey"" : ""442807b35e250ec767221fe3ba"",
        ""mode"" : ""live""
    }
}";
// 直接传入JSON字符串,指定内容类型
request.AddStringBody(jsonString, ContentType.Json);

IRestResponse response = await client.ExecuteAsync(request);
string meinString = response.Content;
textBox4.Text = meinString;

额外检查

  • 核对Postman的请求方法:确认Postman中是GET还是POST,保持代码与之一致。
  • 查阅API文档:确认LetterXpress的/v2/balance API要求的认证方式是请求体还是请求头(比如Basic Auth、Bearer Token),避免方向错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 06:30:08