欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

通过winform+模拟登录实现快速一键登录到人才招聘网站

最编程 2024-01-04 16:13:23
...
public  class  HttpLoginCjolHelper
{
    private  static  readonly  CodeDomProvider _provider = new  Microsoft.JScript.JScriptCodeProvider();
    private  CookieContainer cjolCookies = new  CookieContainer();
 
 
    public  string  Login(string  loginName, string  loginPassword)
    {
 
        string  validateCode, codekey;
 
        validateCode = GetValidateCode(out  codekey);
 
        if  (string.IsNullOrEmpty(validateCode)) return  null;
 
        var  rs = HttpPost("http://newrms.cjol.com/Account/HrLogin"new  Dictionary<stringobject> {
        "r_u_name", loginName }, { "r_p_word", loginPassword },
        "r_v_code", validateCode },{ "r_v_codekey", codekey }
        });
 
        string  newUrl = rs.Headers["Location"].ToString();
        if  (newUrl.IndexOf("/Default") < 0 && newUrl.IndexOf("message") > 0)
        {
            string  pattren = "(?<=message=).+$";
            var  regx = new  System.Text.RegularExpressions.Regex(pattren);
            string  errMsg = regx.Match(newUrl).Value;
            return  Uri.UnescapeDataString(errMsg);
        }
 
        //if (!newUrl.StartsWith("http://" + rs.ResponseUri.Host))
        //{
        //    newUrl = string.Format("http://{0}{1}", rs.ResponseUri.Host, newUrl);
        //}
 
        newUrl = "http://newrms.cjol.com/searchengine";
 
        //var jr = GetResponseContent(rs);
 
        BaseUtil.OpenAdminPage(cjolCookies, new  Uri(newUrl));
        return  null;
    }
 
 
    private  HttpWebResponse HttpPost(string  url, Dictionary<stringobject> postData)
    {
        string  desKey = "!@#$%26)(*&^cjol<16>:|}{=-/*-+.CJOL@*&^%*()*<299>";
        string  logindataVal = HttpLoginCjolHelper.JScriptRun("jsencrypt", desKey, JsonConvert.SerializeObject(postData)).ToString(); //DesEncrypt(desKey, JsonConvert.SerializeObject(postData));
        string  postDataContent = "logindata="  + logindataVal;
        HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";
        byte[] data = Encoding.UTF8.GetBytes(postDataContent);
        request.ContentLength = data.Length;
        request.AllowAutoRedirect = false;
        request.CookieContainer = cjolCookies;
        //request.Accept = "application/json";