做模拟登陆遇到一点问题 http://www.brokerforum.com/、麻烦大神帮我分析一下 这个网址的 模拟登陆 怎么传参 我用firebug监视不到传用户名密码的url串模拟登陆firebug 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 除了url传参,还有表单提交(post)请求地址https://secure.brokerforum.com/cgi/en/session.access.login方式post内容Session_PageName=Index&Session_LoginId=DTEXS1358017964842&Target_Page=session.redirect&Session_Username=fff&Session_Password=sdsdsd&Session_Remember_Password_Control=true&x=38&y=8 Fiddler用这个抓包软后看咯!然后就用POST static void Main(string[] args) { Uri url = new Uri("http://www.brokerforum.com"); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); HttpWebResponse res = (HttpWebResponse)req.GetResponse(); Stream stream = res.GetResponseStream(); StreamReader sr = new StreamReader(stream); string str=sr.ReadToEnd().Replace("\r\n",""); sr.Close(); Regex reg = new Regex("<div class=\"hiddenFields\">(?<fno>.*?)</div>"); MatchCollection mc = reg.Matches(str); if (mc != null && mc.Count > 0) { string session_id = string.Empty; string mstr = mc[1].Groups[1].Value; Regex regid = new Regex("value=\"(?<fno>.*?)\"/>"); MatchCollection ma = regid.Matches(mstr); if (ma != null && ma.Count > 0) { session_id = ma[1].Groups[1].Value; PostData(session_id); } } } private static void PostData(string session_id) { string postDatas = @"Session_PageName=Index&Session_LoginId=" + session_id + "&Target_Page=session.redirect&Session_Username=FLY08&Session_Password=ABC123&Session_Remember_Password_Control=true&x=38&y=8"; Uri url = new Uri("https://secure.brokerforum.com/cgi/en/session.access.login"); byte[] bytes = Encoding.Default.GetBytes(postDatas); HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url); req.Method = "POST"; Stream st = req.GetRequestStream(); st.Write(bytes, 0, bytes.Length); st.Close(); //下面这行 返回500错误 不知道为什么 HttpWebResponse res = (HttpWebResponse)req.GetResponse(); Stream stream = res.GetResponseStream(); StreamReader sr = new StreamReader(stream); string s = sr.ReadToEnd(); sr.Close(); } 据说是月薪4000的面试题,可我不会做。 请教 用WMI开启,关闭 视频头 用户自定义控件属性 问较好的c#9.0的书 数据导入的代码怎么写哦 picturebox显示图片问题 btnSelect的一个小问题 我把IsMdiContainer设为True后,这个skinEngine控件就没法用了,有什么办法吗? 在DataGrid中选中一行,如何在DataSet中读取对应的数据!!! 求助 c#写一个windows服务 一道面试题,是题难还是人不行呢? 求指点,不胜感激! C#中Canvas的运用
请求地址
https://secure.brokerforum.com/cgi/en/session.access.login
方式post
内容
Session_PageName=Index&Session_LoginId=DTEXS1358017964842&Target_Page=session.redirect&Session_Username=fff&Session_Password=sdsdsd&Session_Remember_Password_Control=true&x=38&y=8
然后就用POST
{
Uri url = new Uri("http://www.brokerforum.com");
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream stream = res.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string str=sr.ReadToEnd().Replace("\r\n","");
sr.Close();
Regex reg = new Regex("<div class=\"hiddenFields\">(?<fno>.*?)</div>");
MatchCollection mc = reg.Matches(str);
if (mc != null && mc.Count > 0)
{
string session_id = string.Empty;
string mstr = mc[1].Groups[1].Value;
Regex regid = new Regex("value=\"(?<fno>.*?)\"/>");
MatchCollection ma = regid.Matches(mstr);
if (ma != null && ma.Count > 0)
{
session_id = ma[1].Groups[1].Value;
PostData(session_id);
}
}
} private static void PostData(string session_id)
{
string postDatas = @"Session_PageName=Index&Session_LoginId=" + session_id + "&Target_Page=session.redirect&Session_Username=FLY08&Session_Password=ABC123&Session_Remember_Password_Control=true&x=38&y=8";
Uri url = new Uri("https://secure.brokerforum.com/cgi/en/session.access.login");
byte[] bytes = Encoding.Default.GetBytes(postDatas);
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);
req.Method = "POST";
Stream st = req.GetRequestStream();
st.Write(bytes, 0, bytes.Length);
st.Close();
//下面这行 返回500错误 不知道为什么
HttpWebResponse res = (HttpWebResponse)req.GetResponse();
Stream stream = res.GetResponseStream();
StreamReader sr = new StreamReader(stream);
string s = sr.ReadToEnd();
sr.Close();
}