我遇到严重的登录问题。我无法使用WebBrowser类登录到站点,因为WebBrowser只是单线程类。我无法使用WebClient登录,因为我没有cookie。尝试使用HttpWebRequest登录并且Iam猜测我成功登录因为我得到了标题:login.success或类似的东西,但当我检索源页面时它返回我登录页面显示我没有登录。
我尝试登录此页面:https://lite.betfair.com/Login.do?s=000009z
请求的网址: 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 :(得分:0)
尝试:request.CookieContainer = cookies ;
代替cookies = request.CookieContainer;
。
答案 1 :(得分:-1)
是的,这也是我的想法。您需要从所有即将到来的请求成功登录的响应中设置sessionID。