登录使用Web客户端或HttpWebRequest的 [英] Login using WebClient or HttpWebRequest
问题描述
荫具有登录严重的问题。我不能使用web浏览器类,以登录到网站,因为web浏览器只是单线程类。因为我没有一个饼干,我不能与Web客户端登录。试着用HttpWebRequest和荫猜我成功地登录,因为我得到了与头登入:login.success或类似的东西,但是当我retreived源页面,它返回我登录页显示我荫没有登录。
荫尝试登录到这个网页:的 https://lite.betfair.com/Login.do?s=000009z
URL与要求:
的 https://lite.betfair.com/SLoginsubmit.do ?S = 000009z&放大器;安全=真放;用户名=用户放大器;密码=通过
代码:
HttpWebRequest的请求;
HttpWebResponse响应;
的CookieContainer饼干;
字符串URL =https://lite.betfair.com/SLoginsubmit.do?s=000009z&secure=true&username=user&password=pass;
=请求(HttpWebRequest的)WebRequest.Create(URL);
request.AllowAutoRedirect = FALSE;
request.CookieContainer =新的CookieContainer();
响应=(HttpWebResponse)request.GetResponse();
饼干= request.CookieContainer;
response.Close();
=请求(HttpWebRequest的)WebRequest.Create(https://lite.betfair.com/Events.do?s=000209z);
request.AllowAutoRedirect = FALSE;
request.CookieContainer =饼干;
响应=(HttpWebResponse)request.GetResponse();使用
(流S = response.GetResponseStream())
{
StreamReader的SR =新的StreamReader(S);
串线;
线= sr.ReadToEnd();
}
尝试: request.CookieContainer =饼干;
而不是饼干= request.CookieContainer;
HttpWebRequest.CookieContainer
Iam having serious problem with login. I cant use WebBrowser class to login to site because WebBrowser is only single thread class. I cannot login with WebClient because I dont have a cookies. Tried to login with HttpWebRequest and Iam guessing I logged succesfully because i got header with: login.success or something like that, but when I retreived source page it returned me login page showing me that Iam not logged.
Iam trying to login to this page: https://lite.betfair.com/Login.do?s=000009z
Url with request: https://lite.betfair.com/SLoginsubmit.do?s=000009z&secure=true&username=user&password=pass
Code:
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();
}
Try : request.CookieContainer = cookies ;
instead of cookies = request.CookieContainer;
.
HttpWebRequest.CookieContainer
这篇关于登录使用Web客户端或HttpWebRequest的的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!