Elizabeths 2016-08-18 02:49 采纳率: 80%
浏览 962
已采纳

模拟登录,网站源码里面有几个隐藏的input流水号,获取到模拟post请求就是登录不了。

private string getMatch(string text, Regex reg)
{
Match mBody = reg.Match(text);
return mBody.Value;
}
private void btnLogin_Click(object sender, EventArgs e)
{
HttpClient httpClient = new HttpClient();
httpClient.MaxResponseContentBufferSize = 256000;
httpClient.DefaultRequestHeaders.Add("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8");
string url = "http://ehire.51job.com/MainLogin.aspx";
HttpResponseMessage response = httpClient.GetAsync(new Uri(url)).Result;
string result = response.Content.ReadAsStringAsync().Result;
string ctmName = "会员名";
string userName = "账号";
string password = "密码";
string checkCode = string.Empty;
string isRememberMe = "false";
string returl = string.Empty;
Regex reg = new Regex(@"(?<=id=""hidLangType"" value="").*(?="")");
Regex reg1 = new Regex(@"(?<=id=""hidAccessKey"" value="").*(?="")");
Regex reg2 = new Regex(@"(?<=id=""fksc"" value="").*(?="")");
Regex reg3 = new Regex(@"(?<=id=""hidEhireGuid"" value="").*(?="")");
string langtype = getMatch(result, reg);
string oldAccessKey = getMatch(result, reg1);
string sc = getMatch(result, reg2);
string ec = getMatch(result, reg3);
HttpContent postContent = new FormUrlEncodedContent(new Dictionary()
{
{"ctmName", ctmName},
{"userName", userName},
{"password", password},
{"checkCode", checkCode},
{"oldAccessKey", oldAccessKey},
{"langtype", langtype},
{"isRememberMe", isRememberMe},
{"sc", sc},
{"ec", ec},
{"returl", returl}
});
response = httpClient.PostAsync(new Uri(url), postContent).Result
result = response.Content.ReadAsStringAsync().Result;
txtResult.Text = result;
httpClient.Dispose();
}
一直停留在登陆页面进不了后面,怎么解决啊?

  • 写回答

1条回答 默认 最新

  • 泰 戈 尔 博客专家认证 2016-08-18 03:01
    关注

    你好,类似情况流水号每次调用都是不一样的,对应的我们可以在其JavaScript的处理中找得到。
    类比于CSDN登陆的时候所需的流水号,就是使用JS控制的,这里仅仅是给你一个思路吧,希望对你有用:-)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab