Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

[TuT][C#] Logowanie do DarkOrbit - HttpRequest.


Blat

Rekomendowane odpowiedzi

Opublikowano

Przydatne... Moderator mógłby podpiąć :)

 

 

/Nie podpinam wystarczy dodanie do spisu

marihuana661

 

^

|

|

 

Prawie zawału dostałem, bo myślałem że % :/

Opublikowano

Przydatne... Moderator mógłby podpiąć :)

 

Wiesz, jakoś nie widzi mi się taka opcja, będzie to cała seria artykułów, więc jeśli by podklejać to cały spis treści, lub połączyć to w jeden temat.

 

Kolejna cześć w przygotowaniu :P

Opublikowano

<brawo>

Mój kod z AB zerżnięty, zmieniłeś tylko nazwy zmiennych i te marne komentarze

 

dCookies = tCookies; //do naszych ciasteczek dodajemy ciasteczka (LOL)
UTF8Encoding charset = new UTF8Encoding(); // ustawiamy kodowanie UTF-8

Widzę, że nawet dobrze wytłumaczyć nie potrafisz

Opublikowano

Dzięki.

A jak byś to wytłumaczył?

Do naszego kontenera zadeklarowanego wyżej dodajemy ciasteczka po zalogowaniu?

 

Nie każdy kod musi być Twój, robi się z Ciebie drugi Maggot...

Opublikowano

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;

namespace Dark_17._05._12
{
public partial class Form1 : Form
{
	public Form1()
	{
		InitializeComponent();
	}
	CookieContainer ciastkaPoZalogowaniu = new CookieContainer();
	private void button1_Click(object sender, EventArgs e)
	{
		string kod; // dodajemy zmienną typu string w której będziemy trzymać nasz kod strony
		String postData = string.Format("loginForm_default_username={0}&loginForm_default_password={1}&loginForm_default_login_submit=Logowanie&LPId=3578", textBox1.Text, textBox2.Text);
		//To wyżej to poprostu request typu post w którym wrzucamy dane konta
		CookieContainer tCookies = new CookieContainer(); //tutaj są trzymane ciasteczka których użyjemy by dostać sie do wyboru serwera
		UTF8Encoding charset = new UTF8Encoding(); // ustawiamy kodowanie UTF-8
		Byte[] byteData = charset.GetBytes(postData); //pobieramy bajty naszego zapytania
		HttpWebRequest postRequest = (HttpWebRequest)WebRequest.Create("http://www.darkorbit.pl/big/?aid=3047&aip="); //tworzymy zapytanie do strony DO.
		postRequest.Method = "POST"; //typ zapytania
		postRequest.KeepAlive = true; //podtrzmujemy zapytanie
		postRequest.CookieContainer = tCookies; //dodajemy nasz kontener ciastek do zapytania
		postRequest.ContentType = "application/x-www-form-urlencoded"; // podajemy typ zawartości
		postRequest.Referer = "http://www.darkorbit.pl/big/?aid=3047&aip="; //adres po raz kolejny...
		postRequest.UserAgent = "Mozilla/5.0 (Windows; U; Windows NT 6.1; ru; rv:1.9.2.3) Gecko/20100401 Firefox/4.0"; //Useragent czyli przeglądarka
		postRequest.ContentLength = byteData.Length; //pobieramy długość
		Stream postRequestStream = postRequest.GetRequestStream(); //zbieramy odpowiedź
		postRequestStream.Write(byteData, 0, byteData.Length); // piszemy do serwera nasze zapytanie
		postRequestStream.Close(); //zamykamy stream.
		HttpWebResponse postResponse; // odpowiedź serwera
		postResponse = (HttpWebResponse)postRequest.GetResponse();// łapiemy odpowiedź
		tCookies.Add(postResponse.Cookies); // zbieramy ciasteczka
		dCookies = tCookies; //do naszych ciasteczek dodajemy ciasteczka (LOL)
		StreamReader postRequestReader = new StreamReader(postResponse.GetResponseStream()); //zbieramy kod strony
		kod = postRequestReader.ReadToEnd(); //mamy kod strony z wyborem serwera
		postResponse.Close(); //zamykamy
		postRequestReader.Close(); // zamykamy

		//_ server list //

		int szukajod = kod.IndexOf(textBox3.Text); //pobieramy pozycję skrótu serwera.
		kod = kod.Remove(0, szukajod); //usuwamy wszystko przed nim
		kod = kod.Remove(0, kod.IndexOf("href=\"") + 6); //i ciąg dalszy usuwania
		string link = kod.Substring(0, kod.IndexOf("\"")); //pobieramy nasz link od 0 do backslasha

		HttpWebRequest request = (HttpWebRequest)WebRequest.Create(link); //tworzymy zapytanie
		request.CookieContainer = dCookies; //używając ciastek po zalogowaniu
		HttpWebResponse response = (HttpWebResponse)request.GetResponse(); //ciągniemy źródło jak wyżej
		StreamReader reader = new StreamReader(response.GetResponseStream()); //j.w.
		string kod2 = reader.ReadToEnd(); //a tutaj mamy kod strony po zalogowaniu
		richTextBox1.Text = kod2;
		response.Close(); //zamykamy
		reader.Close(); //zamykamy

	}
}
}


 

 

 

Error mi wyskakuje:

The name 'dCookies' does not exist in the current context.

obraz24.png


Opublikowano

Mój błąd.

Znajdź:

CookieContainer ciastkaPoZalogowaniu = new CookieContainer();

Zamień na:

CookieContainer dCookies = new CookieContainer();

 

Błędem było pomylenie nazw kontenerów ciastek(dałem 2 inne nazwy).

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...