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

在.NET中如何发起带XML请求体的非标准GET请求?

.NET实现带XML请求体的非标准GET请求
  • 在Python中可直接发起包含XML请求体的非标准GET请求,示例代码:
answer = requests.get(url=url, auth=auth_handler, data=request_data, ...)
  • 也可通过Postman实现该请求(界面支持直接为GET请求配置XML格式的请求体)

但在.NET中使用HttpClient直接调用GetAsync方法无法实现这类请求:

var content = new StringContent(requestData, Encoding.UTF8, "application/xml");
// GetAsync方法没有传入请求体的参数
var answer = _Client.GetAsync(url /*missing data=requestData*/).Result;   
// 服务器不允许使用POST方法
var answer2 = _Client.PostAsync(url, content).Result;  

参考方案后,通过构造HttpRequestMessage对象可成功实现,代码如下:

var handler = new WinHttpHandler();
handler.ServerCredentials = new NetworkCredential(userName, userPassword);            
var client = new HttpClient(handler);
var content = new StringContent(requestData, Encoding.UTF8, "application/xml");
var request = new HttpRequestMessage
{
    Method = HttpMethod.Get,
    RequestUri = new Uri(url),
    Content = content
};
var answer = client.SendAsync(request).Result;

内容的提问来源于stack exchange,提问作者Vojtěch Dohnal

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 16:39:56