gpt4 book ai didi

c# - 如何通过 HTTP 请求发送 xml,并使用 ASP.NET MVC 接收它?

转载 作者:太空狗 更新时间:2023-10-29 20:10:22 24 4
gpt4 key购买 nike

我正在尝试通过 HTTP 请求发送一个 xml 字符串,并在另一端接收它。在接收端,我总是得到 xml 为空。你能告诉我这是为什么吗?

发送:

    var url = "http://website.com";
var postData = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?><xml>...</xml>";
byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postData);

var req = (HttpWebRequest)WebRequest.Create(url);

req.ContentType = "text/xml";
req.Method = "POST";
req.ContentLength = bytes.Length;

using (Stream os = req.GetRequestStream())
{
os.Write(bytes, 0, bytes.Length);
}

string response = "";

using (System.Net.WebResponse resp = req.GetResponse())
{
using (StreamReader sr = new StreamReader(resp.GetResponseStream()))
{
response = sr.ReadToEnd().Trim();
}
}

接收:

[HttpPost]
[ValidateInput(false)]
public ActionResult Index(string xml)
{
//xml is always null
...
return View(model);
}

最佳答案

我能够像这样工作:

[HttpPost]
[ValidateInput(false)]
public ActionResult Index()
{
string xml = "";
if(Request.InputStream != null){
StreamReader stream = new StreamReader(Request.InputStream);
string x = stream.ReadToEnd();
xml = HttpUtility.UrlDecode(x);
}
...
return View(model);
}

不过我还是很好奇为什么把xml作为参数不行。

关于c# - 如何通过 HTTP 请求发送 xml,并使用 ASP.NET MVC 接收它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18320916/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com