如何使用.net c#处理和获取POST的主体
本文关键字:获取 POST 主体 处理 何使用 net | 更新日期: 2023-09-27 18:01:37
所以,我知道如何通过使用Request.Form["abc"]
获得表单数据,但是我将如何通过获得身体?
我在下面的链接中使用了这个代码片段:
https://gist.github.com/leggetter/769688但是,我不确定传递什么作为响应。
在PHP中这样做:file_get_contents('php://input');
,它就像那样简单。
备注:POST的内容类型为application/json,正文包含json
字符串。
如果我正确理解了你的问题,以下是当你发布到一个期望JSON响应的资源时你可以做的事情:
HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create("http://foo.com/bar/");
httpWebRequest.Method = WebRequestMethods.Http.Post;
httpWebRequest.Accept = "application/json";
HttpWebResponse response = (HttpWebResponse)httpWebRequest.GetResponse();
Stream receiveStream = response.GetResponseStream();
StreamReader readStream = new StreamReader (receiveStream, Encoding.UTF8);
//store json in a variable for later use
string json = readStream.ReadToEnd();
//make sure to close
response.Close();
readStream.Close();
当然,这种方法是同步的;但是,根据您的需求,这也可以。
由于您的问题没有指定您是否需要知道如何解析JSON本身,所以我省略了JSON解析的示例
您需要类似的代码来将原始请求正文读入字符串变量。
using (StreamReader reader = new StreamReader(HttpContext.Current.Request.InputStream))
{
string text = reader.ReadToEnd();
}