使用httpwebrequest发送数据到网站

it2022-05-09  31

怎样通过HttpWebRequest 发送 POST 请求到一个网页服务器?例如编写个程序实现自动用户登录,自动提交表单数据到网站等。 假如某个页面有个如下的表单(Form): <form name="form1" action=" http://www.here.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();   Console.WriteLine(content);

转载于:https://www.cnblogs.com/tuyile006/archive/2006/07/04/442570.html

相关资源:数据结构—成绩单生成器

最新回复(0)