2016-02-13 124 views
1

我试图让authorizated蒸汽网页的HTML代码,但我不能登录。 我的代码是蒸汽授权

public string tryLogin(string EXP, string MOD, string TIME) 
{ 
    var rsa = new RSA(); 
    string encryptedPass; 
    rsa.Exponent = EXP; 
    rsa.Modulus = MOD; 
    encryptedPass = rsa.Encrypt(Pass); 

    string reqString = "username=kasyjack&password=" + encryptedPass + "&emailauth=&kasyjackfriendlyname=&captchagid=&captcha_text=&emailsteamid=&rsatimestamp=" + TIME + "&remember_login=false"; 
    byte[] requestData = Encoding.UTF8.GetBytes(reqString); 

    HttpWebRequest request = (HttpWebRequest)WebRequest.Create("https://store.steampowered.com/login/dologin/"); 
    request.ContentType = "application/x-www-form-urlencoded; charset=UTF-8"; 
    request.ContentLength = requestData.Length; 
    request.Host = "store.steampowered.com"; 
    request.Method = "POST"; 
    request.UserAgent = Http.ChromeUserAgent(); 
    request.CookieContainer = _CookieCont; 

    using (Stream st = request.GetRequestStream()) 
     st.Write(requestData, 0, requestData.Length); 

    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 
    StreamReader sr = new StreamReader(response.GetResponseStream()); 
    string RSAR = sr.ReadToEnd(); 
    return RSAR; 
} 

但响应消息是

{"success":false,"requires_twofactor":false,"clear_password_field":true,"captcha_needed":false,"captcha_gid":-1,"message":"Incorrect login."} 

也是如此任何人都知道,登录有什么问题?需要你的帮助。

+0

如果使用[小提琴手(http://www.telerik.com/fiddler)捕捉到HTML请求当你做一个正常的登录时,你可以将它与你的代码做的比较。 – rene

+0

Google Chrome开发工具 - 用户名:kasyjack –

+0

Set-Cookie:steamLogin = 76561198277236483%7C%7C5F9A9D14514EBD1716AA252D71BEE6A91455EC39;但是,如果使用这个而不是登录,相同的响应 –

回答

1

GitHub上的SteamBot存储库有一个关于如何通过他们的网站登录Steam的示例:link to method

这里是说明整个过程(我做的):

Steam Web Login