如某个页面有个如下的表单(Form): 

<form name="form1" action="http://www.breakn.com/login.asp" method="post">
<input type="text" name="userid" value="">
<input type="password" name="password" value="">
</form> 

从表单可看到表单有两个表单域,一个是userid另一个是password,所以以POST形式提交的数据应该包含有这两项。
其中POST的数据格式为:
表单域名称1
=值1&表单域名称2=值2&表单域名称3=值3……
要注意的是“值”必须是经过HTMLEncode的,即不能包含“
<>=&”这些符号。

本例子要提交的数据应该是:
userid
=value1&password=value2

用C#写提交程序:
string strId = "guest";
string strPassword= "123456";

ASCIIEncoding encoding
=new ASCIIEncoding();
string postData="userid="+strId;
postData 
+= ("&password="+strPassword);

byte[] data = encoding.GetBytes(postData);

// Prepare web request
HttpWebRequest myRequest =
(HttpWebRequest)WebRequest.Create(
"http://www.here.com/login.asp");

myRequest.Method 
= "POST";
myRequest.ContentType
="application/x-www-form-urlencoded";
myRequest.ContentLength 
= data.Length;
Stream newStream
=myRequest.GetRequestStream();

// Send the data.
newStream.Write(data,0,data.Length);
newStream.Close();

// Get response
HttpWebResponse myResponse=(HttpWebResponse)myRequest.GetResponse();
StreamReader reader 
= new StreamReader(response.GetResponseStream(),Encoding.Default);
string content = reader.ReadToEnd();
Response.Write(content); 


文章来源:http://www.fyis.cn/2007/11/01/C%e5%ae%9e%e7%8e%b0%e9%80%9a%e8%bf%87HttpWebRequest%e5%8f%91%e9%80%81POST%e8%af%b7%e6%b1%82%e5%ae%9e%e7%8e%b0%e7%bd%91%e7%ab%99%e8%87%aa%e5%8a%a8%e7%99%bb%e9%99%86.aspx

Copyright © 2024 co---co
Powered by .NET 8.0 on Kubernetes