2012-02-17 10 views
3

ログインに深刻な問題があります。 WebBrowserはシングルスレッドクラスなので、WebBrowserクラスを使用してサイトにログインすることはできません。私はクッキーを持っていないのでWebClientでログインできません。 HttpWebRequestでログインしようとしましたが、Iamはヘッダーを持っているので、私は正常にログに記録したと推測しています:login.successなどですが、ソースページを取得するとログインページが返ってきました。WebClientまたはHttpWebRequestを使用したログイン

このページにログインしようとしてはIAM:要求にhttps://lite.betfair.com/Login.do?s=000009z

URL: https://lite.betfair.com/SLoginsubmit.do?s=000009z&secure=true&username=user&password=pass

コード:

HttpWebRequest request; 
HttpWebResponse response; 
CookieContainer cookies; 
string url = "https://lite.betfair.com/SLoginsubmit.do?s=000009z&secure=true&username=user&password=pass"; 
request = (HttpWebRequest)WebRequest.Create(url); 
request.AllowAutoRedirect = false; 
request.CookieContainer = new CookieContainer(); 
response = (HttpWebResponse)request.GetResponse(); 
cookies = request.CookieContainer; 
response.Close(); 

request = (HttpWebRequest)WebRequest.Create("https://lite.betfair.com/Events.do?s=000209z"); 
request.AllowAutoRedirect = false; 
request.CookieContainer = cookies; 
response = (HttpWebResponse)request.GetResponse(); 

using (Stream s = response.GetResponseStream()) 
{ 
    StreamReader sr = new StreamReader(s); 
    string line; 

    line = sr.ReadToEnd(); 
} 
+0

あなたは次のリクエストにログイン応答からクッキーを渡していないように聞こえます。コードを投稿すると、わかりやすく理解するのに役立ちます。 –

答えて

-1

うんそれは私も思ったものです。セッションIDは、今後のすべてのリクエストに対して成功したログインの応答から設定する必要があります。

関連する問題