日期:2014-05-17  浏览次数:20504 次

ASP.NET 如何在一个类中用C#代码POST提交表单 (高分求解)!!!
我要做的 功能是 在类库中自定义了一个类,在类的一个方法里面 post提交表单 根据用户名,密码,路径实现登录别人的网站,

通过查看目标网站的源文件 已经获得 用户名和密码的input标签ID,name  
用js 可以实现 document.getElementById("FormID").submit(); 

但是我要在类中的方法里面实现,,,求解

------解决方案--------------------
HttpWebRequest
------解决方案--------------------
js基本用不到,除非你是先把对方的源代码生成一个htnl文件,然后在去执行这个界面,在运行js

用报文的形式,也就是楼上说的HttpWebRequest 

你的这个形式和第三方支付平台很像,你可以去研究下。

我大致给你写个代码,你可以参考下

void SendRequest(string username,string password,string path)
{
//拼接提交数据的格式
string s="username="+username+"&password="+password;
//转换为字节数组
byte[] bytesRequestData=Encoding.UTF8.GetBytes(s);
//path不是登录界面,是登录界面向服务器提交数据的界面
 HttpWebRequest myReq = (HttpWebRequest)HttpWebRequest.Create(path);
myReq.Method = "post";
myReq.ContentType = "application/x-www-form-urlencoded";

//填充POST数据
myReq.ContentLength = bytesRequestData.Length;
Stream requestStream = myReq.GetRequestStream();
requestStream.Write(bytesRequestData, 0, bytesRequestData.Length);
requestStream.Close();

//发送POST数据请求服务器
HttpWebResponse HttpWResp = (HttpWebResponse)myReq.GetResponse();
//获取服务器返回信息
Stream myStream = HttpWResp.GetResponseStream();}
//获取到服务器返回的流,就可以随意处理了
//比如验证是否登录成功

……
}




继续的处理、服务器url、参数名字、返回数据等 还要看你登录的网站具体的设计。
------解决方案--------------------
http://www.cnblogs.com/changyou/archive/2010/01/09/1643166.html