//建立WebRequest对象,url目标地址
HttpWebRequest req =(HttpWebRequest)WebRequest.Create(url); //将LoginInfo转换为byte[]格式,这里的LoginInfo应该是你要传输的数据
byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(LoginInfo); //设置请求为POST方式,
req.Method = "POST"; //设置请求类型
req.ContentType = "application/x-www-form-urlencoded"; //请求发送的数据长度, 这里就很清楚了,请求数据是从LoginInfo转换来的
//前面的代码byte[] requestBytes = System.Text.Encoding.ASCII.GetBytes(LoginInfo);
req.ContentLength = requestBytes.Length; //建立请求的输入流
Stream requestStream = req.GetRequestStream(); //从requestBytes中读取数据到输入流中
requestStream.Write(requestBytes, 0, requestBytes.Length); //关闭输入流
requestStream.Close(); //获取响应对象
HttpWebResponse res = (HttpWebResponse)req.GetResponse(); //获取服务器返回流
StreamReader sr = new StreamReader(res.GetResponseStream(),System.Text.Encoding.Default); //读取返回流数据,并赋值给backstr
string backstr =sr.ReadToEnd(); //页面输出backstr
Response.Write(backstr);
//关闭* 
sr.Close();
res.Close(); -------------------------------------------------------------------------------
public static string SendMsg(string fxPhone, string fxPassword, string toPhone, string msg)
{
try
{
string url = "u=" + fxPhone + "&";
url = url + "p=";
url = url + fxPassword + "&";
url = url + "to=";
url = url + toPhone + "&";
url = url + "m=" + msg; string formUrl = "http://quanapi.sinaapp.com/fetion.php";
string formData = url; //提交的参数 //注意提交的编码 这边是需要改变的 这边默认的是Default:系统当前编码
byte[] postData = Encoding.UTF8.GetBytes(formData); // 设置提交的相关参数
HttpWebRequest request = WebRequest.Create(formUrl) as HttpWebRequest;
Encoding myEncoding = Encoding.UTF8;
request.Method = "POST";
request.KeepAlive = false;
request.AllowAutoRedirect = true;
request.ContentType = "application/x-www-form-urlencoded";
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)";
request.ContentLength = postData.Length; // 提交请求数据
System.IO.Stream outputStream = request.GetRequestStream();
outputStream.Write(postData, , postData.Length);
outputStream.Close(); HttpWebResponse response;
Stream responseStream;
StreamReader reader;
string srcString;
response = request.GetResponse() as HttpWebResponse;
responseStream = response.GetResponseStream();
reader = new System.IO.StreamReader(responseStream, Encoding.GetEncoding("UTF-8"));
srcString = reader.ReadToEnd();
string result = srcString; //返回值赋值
reader.Close();
return result;
}
catch
{
return "error";
}
}

-------------------------------------------------------------------------------------
FORM元素的enctype属性指定了表单数据向服务器提交时所采用的编码类型,默认的缺省值是“application/x-www-form-urlencoded”。

    然而,在向服务器发送大量的文本、包含非ASCII字符的文本或二进制数据时这种编码方式效率很低。

    在文件上载时,所使用的编码类型应当是“multipart/form-data”,它既可以发送文本数据,也支持二进制数据上载。

    Browser端<form>表单的ENCTYPE属性值为multipart/form-data,它告诉我们传输的数据要用到多媒体传输协议,由于多媒体传输的都是大量的数据,所以规定上传文件必须是post方法,<input>的type属性必须是file。

----------------------------------------------------------------------------------------------------------

application/x-www-form-urlencoded: 窗体数据被编码为名称/值对。这是标准的编码格式。

multipart/form-data: 窗体数据被编码为一条消息,页上的每个控件对应消息中的一个部分。

text/plain: 窗体数据以纯文本形式进行编码,其中不含任何控件或格式字符。

说明:
      form的enctype属性为编码方式,常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。

当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。

当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。

如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file),Content-Type(默认为text/plain),name(控件name)等信息,并加上分割符(boundary)。

-----------------------------------------------------------------------------------------------------------

 

Asp.net的post提交方式的更多相关文章

  1. ASP.NET MVC 表单的几种提交方式

    下面是总结一下在ASP.NET MVC中表单的几种提交方式. 1.Ajax提交表单 需要引用 <script type="text/javascript" src=" ...

  2. 请写出一段表单提交的HTML代码,表单名称为form1,提交方式为post,提交地址为submit.asp

    请写出一段表单提交的HTML代码,表单名称为form1,提交方式为post,提交地址为submit.asp 解答: <form name=”form1” method=”post” action ...

  3. ASP.NET知识总结(2.对比Get和Post提交方式)

    2.对比Get和Post提交方式 get:<1>在地址栏中通过?key1=value1&key2=value2...的方式传值 <2>传递的数据用户可以直接在url中看 ...

  4. [置顶] 网页提交方式post和get的区别和联系

    都知道GET一般用于获取/查询资源信息,而POST一般用于更新资源信息.但具体区别呢?可以互换吗? 主要区别有:1传输数据的方式不同,2传输的数据多少不同,3传输数据的安全性不同4,后台获取数据的方式 ...

  5. 渗透常用dos命令,http协议及数据提交方式。 hack 某某

    dir查看目录 cd 切换目录 strat www.xxx.com   打开网页 del 删除文件 cls 清屏幕命令 ipconfig  查看ip地址 netstat -an   显示网络连接.路由 ...

  6. form表单的提交方式

    开发中表单提交是很常见的,表单的提交方式也多种方式. 1.使用submit按钮提交表单  <input type="submit"/> <!DOCTYPE htm ...

  7. 【转载】Asp.Net MVC网站提交富文本HTML标签内容抛出异常

    今天开发一个ASP.NET MVC网站时,有个页面使用到了FCKEditor富文本编辑器,通过Post方式提交内容时候抛出异常,仔细分析后得出应该是服务器阻止了带有HTML标签内容的提交操作,ASP. ...

  8. 【转载】 Asp.Net MVC网站提交富文本HTML标签内容抛出异常

    今天开发一个ASP.NET MVC网站时,有个页面使用到了FCKEditor富文本编辑器,通过Post方式提交内容时候抛出异常,仔细分析后得出应该是服务器阻止了带有HTML标签内容的提交操作,ASP. ...

  9. html表单中的input元素的两种提交方式比较(get/post)

    Http存在两种最常用的提交方式:Get和Post(电话面试有问到两种提交方式的区别) 什么是HTTP? 超文本传输协议(HTTP)的设计目的是保证客户机与服务器之间的通信. HTTP 的工作方式是客 ...

随机推荐

  1. 配置maven环境

    第一步:安装maven,安装maven最简单,直接将maven的解压文件放入本地某目录下即可,无需手动安装 第二步:eclipse中导入maven项目后,会后错,或maven无法使用,则需要进行mav ...

  2. logback详细配置(三)

    转自:http://blog.csdn.net/haidage/article/details/6794540 <filter>: 过滤器,执行一个过滤器会有返回个枚举值,即DENY,NE ...

  3. Javascript return false的作用(转)

    大多数情况下,为事件处理函数返回false,可以防止默认的事件行为.例如,默认情况下点击一个<a>元素,页面会跳转到该元素href属性指定的页.return false 就相当于终止符,r ...

  4. 调试 rewrite

    等号后面是变量 访问http://m-test.jinlianchu.com/member/register.html?inviteCode=jlc24639  的跳转到https://wx-test ...

  5. 第五篇 SQL Server安全架构和安全

    本篇文章是SQL Server安全系列的第五篇,详细内容请参考原文. 架构本质上是一个数据库对象,其他对象的一个容器,在复杂的数据库中它能够很容易的管理各组对象.架构具有重要的安全功能.在这一篇你会学 ...

  6. 设计视图不能用于 x64 和 ARM 目标平台

    设计视图不能用于 x64 和 ARM 目标平台

  7. Demo4 Slides.js的使用

    Slides.js挺好用的啊,把示例中的Demo调试通了.首先把css.img.js文件夹下的内容全部拷贝到Vs网站项目下的Scripts文件夹下. 代码主要修改了一些图片路径和网址链接. <! ...

  8. Java nio 笔记:系统IO、缓冲区、流IO、socket通道

    一.Java IO 和 系统 IO 不匹配 在大多数情况下,Java 应用程序并非真的受着 I/O 的束缚.操作系统并非不能快速传送数据,让 Java 有事可做:相反,是 JVM 自身在 I/O 方面 ...

  9. 在navgationController中添加UISegmentedControl

    NSArray *segmentedArray = [NSArray arrayWithObjects:@"患者基本信息",@"患者信息",nil]; UISe ...

  10. PostgreSQL Configuration – managing scary settings

    When it comes to highly available database servers and configuration, a very important aspect is whe ...