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

RestSharp V112.1.0中RestResponse.Content截断问题求助

RestSharp V112.1.0中RestResponse.Content截断但RawBytes完整的解决方案

在C#使用RestSharp V112.1.0调用Rest API时,遇到RestResponse.Content内容被截断的问题,但RawBytes中存在完整的响应数据。

截断的响应信息:

RestSharp.RestResponse}
    Content: "[{\"ClientId\":\"11030xxxx\",\"tradingSymbol\":\"NIFTY-Dec2024-23850-CE\",\"securityId\":\"41689\",\"positionType\":\"CLOSED\",\"exchangeSegment\":\"NSE_FNO\",\"productType\":\"MARGIN\",\"buyAvg\":68.5,\"costPrice\":68.5,\"buyQty\":100,\"sellAvg\":70.3,\"sellQty\":100,\"netQty\":0,\"realizedProfit\":180.0,\"unrealizedProfit\":0.0,\"rbiReferenceRate\":1.0,\"multiplier\":1,\"carryForwardBuyQty\":0,\"carryForwardSellQty\":0,\"carryForwardBuyValue\":0.0,\"carryForwardSellValue\":0.0,\"dayBuyQty\":100,\"daySellQty\":100,\"dayBuyValue\":6850.0,\"daySellValue\":7030.0,\"drvExpiryDate\":\"2024-12-26 14:30:00\",\"drvOptionType\":\"CALL\",\"drvStrikePrice\":23850.0,\"crossCurrency\":false},{\"dhanClientId\":\"11030xxxx\",\"tradingSymbol\":\"PSUBNKBEES\",\"securityId\":\"15032\",\"positionType\":\"LONG\",\"exchangeSegment\":\"NSE_EQ\",\"productType\":\"CNC\",\"buyAvg\":73.95,\"costPrice\":73.95,\"buyQty\":50,\"sellAvg\":0.0,\"sellQty\":0,\"netQty\":50,\"realizedProfit\":0.0,\"unrealizedProfit\":-29.5,
\"rbiReferenceRate\":1.0,\"multiplier\":1,\"carryForwardBuyQty\":0,\"carryForwardSellQty\":0,\"carryForwardBuyValue\":0.0,\"carryForward...\"\n    ContentEncoding: \"\"\n    ContentLength: -1\n    ContentType: \"application/json\"\n    Cookies: Count = 0\n    ErrorException: null\n    ErrorMessage: null\n    Headers: Count = 5\n    RawBytes: {byte[1203]}\n    Request: {RestSharp.RestRequest}\n    ResponseStatus: Completed\n    ResponseUri: {https://api.xxxx.co/v2/positions}\n    Server: \"\"\n    StatusCode: OK\n    StatusDescription: \"\"\n

RawBytes解码后的完整内容:

[{"ClientId":"11030xxxx","tradingSymbol":"NIFTY-Dec2024-23850-CE","securityId":"41689","positionType":"CLOSED","exchangeSegment":"NSE_FNO","productType":"MARGIN","buyAvg":68.5,"costPrice":68.5,"buyQty":100,"sellAvg":70.3,"sellQty":100,"netQty":0,"realizedProfit":180.0,"unrealizedProfit":0.0,"rbireferenceRate":1.0,"multiplier":1,"carryForwardBuyQty":0,"carryForwardSellQty":0,"carryForwardBuyValue":0.0,"carryForwardSellValue":0.0,"dayBuyQty":100,"daySellQty":100,"dayBuyValue":6850.0,"daySellValue":7030.0,"drvExpiryDate":"2024-12-26 14:30:00","drvOptionType":"CALL","drvStrikePrice":23850.0,"crossCurrency":false},{"ClientId":"11030xxxx","tradingSymbol":"PSUBNKBEES","securityId":"15032","positionType":"LONG","exchangeSegment":"NSE_EQ","productType":"CNC","buyAvg":73.95,"costPrice":73.95,"buyQty":50,"sellAvg":0.0,"sellQty":0,"netQty":50,"realizedProfit":0.0,"unrealizedProfit":-29.5,"rbiReferenceRate":1.0,"multiplier":1,"carryForwardBuyQty":0,"carryForwardSellQty":0,"carryForwardBuyValue":0.0,"carryForwardSellValue":0.0,"dayBuyQty":50,"daySellQty":0,"dayBuyValue":3697.5,"daySellValue":0.0,"drvExpiryDate":"0001-01-01","drvOptionType":"NA","drvStrikePrice":0.0,"crossCurrecy":false}]

解决方法:

  • 手动解码RawBytes获取完整内容
    直接通过编码将RawBytes转换为字符串,绕过Content属性的截断问题:

    using System.Text;
    
    // 假设response是你的RestResponse实例
    var fullResponseContent = Encoding.UTF8.GetString(response.RawBytes);
    

    之后可以正常解析这个完整字符串为JSON对象。

  • 检查RestClient配置
    确认创建RestClient时的RestClientOptions是否有影响内容读取的设置,比如是否启用了流式响应处理。若开启了流式,Content属性可能不会自动加载完整数据,需要手动处理流,但既然RawBytes完整,这个场景下优先用上面的方法。

  • 升级RestSharp版本
    该问题可能是V112.1.0的已知bug,尝试升级到最新稳定版RestSharp,查看官方更新日志是否修复了响应内容截断的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 08:27:34