ASP.NET 如何在一个类中用C#代码POST提交表单 (高分求解)!!!

王同学的学习笔记 2012-06-07 09:55:25
我要做的 功能是 在类库中自定义了一个类,在类的一个方法里面 post提交表单 根据用户名,密码,路径实现登录别人的网站,

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

但是我要在类中的方法里面实现,,,求解
...全文
495 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
感谢6楼,我第一次做这种功能,网上找的基本没用,,先去研究下
hack_pan 2012-06-07
  • 打赏
  • 举报
回复
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、参数名字、返回数据等 还要看你登录的网站具体的设计。
骑猪看海 2012-06-07
  • 打赏
  • 举报
回复
HttpWebRequest
骑猪看海 2012-06-07
  • 打赏
  • 举报
回复
HttpWebRequest
背离终点 2012-06-07
  • 打赏
  • 举报
回复
楼主结帖率亮了...
Chyan 2012-06-07
  • 打赏
  • 举报
回复
后台提交表单
http://blog.sina.com.cn/s/blog_5e06afe00100rlnq.html
mizuho_2006 2012-06-07
  • 打赏
  • 举报
回复
高分求解,20分。。。
  • 打赏
  • 举报
回复
看来得多弄点分了
  • 打赏
  • 举报
回复
public void Login()
{
SendRequest("wzq806341010", "wzq123123", "http://www.oukkk.com/user.php");
}

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();
StreamReader reader = new StreamReader(myStream, Encoding.UTF8);
string content = reader.ReadToEnd();
}
用了6楼的方法,没有用,仍然返回的是登录页面,,哪里错了呢,,求解

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧