首页 > 其他分享 >HttpWebRequest的Request.Form接收不到数据

HttpWebRequest的Request.Form接收不到数据

时间:2024-02-29 14:44:26浏览次数:15  
标签:string stream Request byts HttpWebRequest Form

最近在写接口,
post请求,使用postman模拟时,使用的是raw-json ,然后发现

HttpContextBase context = (HttpContextBase)Request.Properties["MS_HttpContext"];//获取传统context
HttpRequestBase request = context.Request;//定义传统request对象
string dbcode = request.Form["dbcode"];
dbcode获取不到参数。

发现HttpWebRequest只有设置为application/x-www-form-urlencoded时候,接收端才能通过Request.Form[“key”]来获取值,Js得ajax一样也需要设置contentType: “application/x-www-form-urlencoded;charset=utf-8”

当ContentType设置为application/json时,Request.Form是取不到任何值得。Keys的长度为0;

正确获取方式:

var stream = Request.InputStream;
stream.Position = 0; //如果使用mvc,必须设置,否则流position一直在最后,个人理解为mvc内部已经对Request.InputStream进行了读取导致position移到了最后。
StreamReader streamReader = new StreamReader(stream);
string body=streamReader.ReadToEnd();
或者

var stream = Request.InputStream;
stream.Position = 0;
byte[] byts = new byte[stream.Length];
stream.Read(byts, 0, byts.Length);
string body = System.Text.Encoding.UTF8.GetString(byts);
得到的body就是json格式字符串,如:
{“httpUrl”:“http://www.pageadmin.net/e/images/logo.jpg”,“saveFilePath”:"/app_data/test/logo.jpg"}


原文链接:https://blog.csdn.net/hyq_07_27/article/details/114922555

标签:string,stream,Request,byts,HttpWebRequest,Form
From: https://www.cnblogs.com/itjeff/p/18043729

相关文章

  • Bad Request
    错误的请求方法HTTP协议定义了一些常见的请求方法,例如GET、POST、PUT、DELETE等。服务器根据不同的请求方法执行相应的操作。如果客户端使用了服务器不支持的请求方法,服务器将返回400BadRequest错误。为了解决这个问题,客户端需要使用服务器支持的请求方法。错误的请求体格式请......
  • 解析HTTP错误码400 Bad Request及其常见原因与解决方法
    解析HTTP错误码400BadRequest及其常见原因与解决方法1.引言在进行web开发过程中,我们经常会遇到各种HTTP错误码。HTTP错误码用于表示服务器对请求的响应状态,帮助我们定位和解决问题。本文将重点解析HTTP错误码400BadRequest,探讨其常见原因和解决方法。HTTP错误码的作用和分类......
  • 解析HTTP错误码400 Bad Request及其常见原因与解决方法
    解析HTTP错误码400BadRequest及其常见原因与解决方法1.引言在进行web开发过程中,我们经常会遇到各种HTTP错误码。HTTP错误码用于表示服务器对请求的响应状态,帮助我们定位和解决问题。本文将重点解析HTTP错误码400BadRequest,探讨其常见原因和解决方法。HTTP错误码的作用和分类......
  • 文献笔记:LINE: Large-scale Information Network Embedding
    https://arxiv.org/pdf/1503.03578v1.pdf本文研究了将非常大的信息网络嵌入到低维向量空间的问题,这在可视化、节点分类和链路预测等许多任务中都很有用。大多数现有的图形嵌入方法无法扩展到通常包含数百万个节点的现实世界信息网络。在本文中,我们提出了一种名为“LINE”的新型网......
  • national-olympiad-in-informatics-in-provinces-2022-travels
    NationalOlympiadinInformaticsinProvinces2022travels(有些时间点懒得回忆了,就不写具体时间了。)这次去广大附中考,要求提前\(3\)天到附近的酒店隔离。隔离酒店环境不错,比想象中好很多。服务也还可以,午饭晚饭都挺合我胃口,就是饭不够吃。和WaterAche一间房。这几天摆......
  • uniapp 小程序 request.js 文件书写
    uniapp小程序request.js文件书写:https://blog.csdn.net/weixin_46479579/article/details/124431422?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_utm_term~default-16-124431422-blog-132159578.235^v43^pc_blog_bottom_relevance_base9&spm=1001......
  • 界面控件DevExpress WinForms 2024产品路线图预览(一)
    DevExpressWinForm拥有180+组件和UI库,能为WindowsForms平台创建具有影响力的业务解决方案。DevExpressWinForm能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!本文将介绍2024年DevExpressWinForms第一个主要更新......
  • 解决npm 错误:request to https://registry.npm.taobao.org/ failed, reason: certific
    今天,启动一个纯前端的老项目,安装依赖时报错。npm错误:requesttohttps://registry.npm.taobao.org/failed,reason:certificatehasexpired从报错信息可看出,以前经常使用的淘宝镜像https://registry.npm.taobao.org/的证书过期了,就是该域名的备案证书过期了,但似乎直到2024......
  • 解决HttpServletRequest调用getInputStream()方法读取参数只能获取一次问题
    1、问题描述由于后端接口获取前端传过的参数是通过HttpServletRequest接收获取的。现有一需求需要在接口调用之前拦截接口进行业务处理。在拦截类中调用getInputStream()获取参数之后,在接口方法里获取参数为空。2、解决方法自定义一个过滤器过滤所有请求,使用HttpServletRequest......
  • c# winform 多线程
    ​  privateTaskSchedulermpr_ts_UIContext;    privatevoidbutton1_Click(objectsender,EventArgse)    {      progressBar1.Visible=true;      progressBar1.Value=0; //清空进度条      progress......