2015-05-30 5 views
0

Я пытаюсь войти в систему на текущей странице xbox, и у меня возникли проблемы с этим, понятия не имею, почему я думаю, что я все правильно установил ... вот мой кодC# httpwebrequest Методы POST и GET (с cookieContainer) C#

CookieCollection cookies = new CookieCollection(); 
HttpWebRequest Request = (HttpWebRequest)WebRequest.Create("https://account.xbox.com/en-US/PaymentAndBilling/RedeemCode"); 
Request.CookieContainer = new CookieContainer(); 
Request.CookieContainer.Add(cookies); 
//Request.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; 

HttpWebResponse Response = (HttpWebResponse)Request.GetResponse(); 
Response.Cookies.Add(cookies); 

Response.Close(); 

HttpWebRequest getRequest = (HttpWebRequest)WebRequest.Create("https://login.live.com/"); 
getRequest.Method = "POST"; 
getRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko"; 
getRequest.CookieContainer = new CookieContainer(); 
getRequest.CookieContainer.Add(cookies); 

string postData = String.Format("login=/*dd*/&passwd=/*pass*/"); 
byte[] byteArray = Encoding.ASCII.GetBytes(postData); 
getRequest.ContentLength = byteArray.Length; 
Stream newStream = getRequest.GetRequestStream(); //open connection 
newStream.Write(byteArray, 0, byteArray.Length); // Send the data. 
newStream.Close(); 

HttpWebResponse getResponse = (HttpWebResponse)getRequest.GetResponse(); 
getResponse.Cookies = cookies; 
StreamReader sr1 = new StreamReader(getResponse.GetResponseStream()); 
string sourceCode = sr1.ReadToEnd(); 
richTextBox1.Text = sourceCode; 
sr1.Close(); 

Я действительно apprieciate любую помощь или любую информацию, где я могу найти некоторые объяснения о cookiecontainers, протоколы HTTP в C# и т.д. .... как это моя первая программа, работающая с WebRequests, действительно поблагодарить у за помощь заранее.

+0

У вас есть ошибка? –

+0

Когда я помещаю sourceCode в браузер, он говорит, что мне нужно включить файлы cookie и javascript ... Но он даже не возвращает код, который я хочу (страница после входа в систему) – Propert

ответ

0

Хорошо, вы будете ненавидеть меня, но если бы я был выбор, я бы не использовать HttpWebResponse, я хотел бы использовать http://www.seleniumhq.org/projects/webdriver/

Это так легко, потому что он использует полномасштабную браузер вместо того, чтобы поддерживать куки , И если вам нужно запустить его в интерактивном режиме или без gui, вы можете использовать SimpleDriver()

+0

HttpWebResponse работает намного быстрее, и я увидел одного парня который запустил на этом сайте через httpWebResponse, он сказал, что может продать мне этот код за 20 $ ... Так что, может быть, я мог бы найти здесь кого-то умнее. – Propert

+0

@Propert да быстрее и меньше памяти, но не так просто или мощно. Мне бы хотелось увидеть HttpWebResponse mimick asp-запросы при взаимодействии с сетками и формами. –

+0

@Propert не говоря уже о заполнении и решении катчача вместе с множеством других действительно хороших предметов. –

 Смежные вопросы

  • Нет связанных вопросов^_^