登录使用Web客户端或HttpWebRequest的 [英] Login using WebClient or HttpWebRequest

查看:153
本文介绍了登录使用Web客户端或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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆