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


Rekomendowane odpowiedzi

Opublikowano

1336830855-U629551.png

Witajcie!

Widzę że dużo lamek się nazbierało po podbiciu tych działów przywróciłem mój TuT(była tego spora seria ale mi się nie chce...

 

1336831557-U629551.png

W takim razie, po krótkim wstępie czas wziąć się do pracy.

Jak zwykle to robię, zaczynam projekt od założeń, czyli co ma to robić?

  • Logowanie przez login, hasło i skrót serwera.

Mało ambitne, ale zawsze(niedługo po ukazaniu się tego artykułu umieszczę co możemy zrobić z tym projektem.

Co nam to da? Szkielet do bardziej zaawansowanych programów, jakimi są SkyLabToole( po kilku moich artykułach pewnie będziecie móc to stworzyć, jednak ja nie biorę się za to - pakiety w nowym kliencie są szyfrowane - więc nici z sprzedawania surowców(a bez tego nie widzę sensu takiego programu), choć może któryś z Was odgadnie hash i stworzycie coś wielkiego?)

 

1336831575-U629551.png

Lista przedmiotów których potrzebujemy jest krótka(nie będę wymieniał komputera bo to już przesada)

  1. Visual C# 2010(sam korzystam z tego pakietu, możecie używać starszych wersji - czego nie polecam, lub płatnego Visual Studio Ultimate)

 

1336831903-U629551.png

Otwieramy Microsoft Visual C# 2010 Express.

 

Z górnego paska menu wybieramy File -> New Project... lub używamy kombinacji klawiszy Ctrl + Shift + N.

 

1336832401-U629551.png

Wybieramy opcję zaznaczoną na czerwono(żeby utworzyć projekt okienkowy)

W niebieskim polu wpisujemy nazwę projektu, a następnie klikamy na przycisk zaznaczony na zielono.

Czekamy chwilę aż zostanie wygenerowany nasz projekt.

 

Następnie z pola

lyxv.jpg wybieramy xumd.jpg i przeciągamy ją na nasze okienko.

Powtarzamy ten krok jeszcze 2 razy by w naszym projekcie były 3 pola tekstowe TextBox.

Ostatnim krokiem tworzenia naszego GUI będzie przeciągnięcie

wzxr.jpg w taki sposób jak został przedstawiony wyżej.

 

Nasze projekt na obecnym etapie pracy powinien wyglądać tak:

oosf.jpg

 

Dodatkowo możesz zmienić tekst textBoxa/Form'a(zmień atrybut Text a nie Name!)

 

1336832869-U629551.png

Klikamy 2 razy na przycisk

ntje.jpg na naszej formie. Powinien ukazać nam się kod naszej aplikacji.

Nasz kursor tekstu jest teraz w środku zdarzenia Click kontrolki button1(czyli to co się w nim znajduje jest wykonywane kiedy naciśniemy ten przycisk).

 

Jednak żeby zacząć musimy dodać 2 przestrzenie nazw żebyśmy mogli skorzystać z HttpRequest i Streamów.

 

Przewijamy kod w górę aż znajdziemy taki oto kod:

 


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;


Są to automatycznie wygenerowane przestrzenie nazw.

Jednak nam są potrzebne 2 kolejne, zatem dopisujemy pod nimi:

<p></p><p>

using System.Net;
using System.IO;

 

Dodatkowo pod:

 

	public Form1()
	{
		InitializeComponent();
	}

 

Dodajemy kontener na ciasteczka:

CookieContainer dCookies = new CookieContainer();

 

 

Teraz wracamy do zdarzenia naszego buttona i wpisujemy tam ten kod:

 

 

 

 



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
		response.Close(); //zamykamy
		reader.Close(); //zamykamy


 

I wieźcie mi że ten kod jest prawidłowy.

Dodatkowo możecie przeciagnąć w taki sam sposób jak to było z textBoxami kontrolkę soam.jpg

I po

 string kod2 = reader.ReadToEnd(); //a tutaj mamy kod strony po zalogowaniu

Dodać

richTextBox1.Text = kod2;

Co wyświetli nasz kod strony po zalogowaniu w soam.jpg'ie.

 

1336834381-U629551.png

Nasz program jest gotowy.

Dla leni którym się nie chce robić wrzucam niżej cały projekt.

 

1336834611-U629551.png

Pobierz Skan

 

88x31.png

Opublikowano
Fajne to a czy mozna by zrobic cos takiego do innych gier ??

 

Można by to zrobić praktycznie do każdej z gier www :)

1390144171-U592769.png

 

3x ExModerator Minecraft | ExModerator Battlefield | ExMentor | 2x Ex MPC Media Team | Gold Member | MPC Coders Team | ExMPC Modder | Combat Arms Private

Opublikowano

@up Czytaj wyżej posty ... Jest to logowanie takie jak na dark orbit ale te logowanie może służyć do każdej gry online.

Opublikowano

Ja pierdole, gdzie jeszcze skopiujesz mojego przerobionego tuta?

Gdybym wiedział, że wstawisz to wszędzie, gdzie się udzielasz nigdy bym go nie udostępniał...

 

Creative Commons przez uznanie autorstwa?

Hah, szkoda, że to kopia...

Opublikowano

Dobra podaj oryginalny link.

To że zacząłem naukę HtppWebRequest po Twoim kodzie nie znaczy że to plagiat.

 

Jedyne co jest takie same to kod, a jak chcesz pieprzyc o plagiat to jeśli umiesz zrobic to inaczej to zrób.

 

To że w Qbocie 70% kodu to UDObot nie znaczy że to plagiat tylko obranie tych samych wzorców i założeń.

Opublikowano

Dobra podaj oryginalny link.

To że zacząłem naukę HtppWebRequest po Twoim kodzie nie znaczy że to plagiat.

 

Jedyne co jest takie same to kod, a jak chcesz pieprzyc o plagiat to jeśli umiesz zrobic to inaczej to zrób.

 

To że w Qbocie 70% kodu to UDObot nie znaczy że to plagiat tylko obranie tych samych wzorców i założeń.

UDOBot jest opensource, nie wiem, czemu porównujesz go do poradnika.

Kod jest identyczny, a tylko dodałeś obrazki.

Oryginalnego tutoriala już w sieci nie ma.

Opublikowano

@UP

 

Nie ma bo może nie było? Nie możesz udowodnić? To siedź cicho... On bynajmniej nie jest sępem, i chcę się czymś podzielić...

 

 

@top

 

Będą kolejne częsci?

 

@down

 

Co ma moja wiedza na temat c# do tej rozmowy? Piszesz wiecznie głupoty więc ty siedź cicho

Opublikowano

@UP

 

Nie ma bo może nie było? Nie możesz udowodnić? To siedź cicho... On bynajmniej nie jest sępem, i chcę się czymś podzielić...

Czy ty w ogóle potrafisz czytać?

Nie udzielaj się w tematach, o których pojęcia nie masz.

 

@edit

Chodziło mi o to, że ja wiem i Sekhmet wie, że skopiował mojego tuta. We wcześniejszej wersji nawet jakaś tam zmienna miała identyczną nazwę.

Opublikowano

ej a zapisac zrodlo strony np. do html?

Kod strony przechowywany jest w zmiennych kod (wybór serwerów) i kod2 (po zalogowaniu)

@top

Poza tym napisałeś tego tuta jak dla totalnych idiotów (przeciągnij, upuść blabla), jakbyś nie mógł dodać kontrolki z kodu.

 

RichTextBox rtb = new RichTextBox();
rtb.Dock = DockType.Fill; //czy jakoś tak

Opublikowano

Kod jest identyczny. Dobra, może mam go rozwalić żebyś miał spokój.

 

Zachowałem taka strukturę kodu jaka powinna być. No chyba że response ma być nad requestem i wtedy dasz mi spokój.

 

Miałeś ten swój tut, spoko, ale jedyna podonizna to kod który może mieć jedną postać.

 

Haha, mówisz że mój kod jest ściągnięty żywcem, zgodze się omijając fakt że w Twoim sample(bo trudno nazwać było to tutorialem) byly błędy które sam poprawiałem.

 

Zachowujesz się jak debil bo można to porównać do oskarżenie kogoś o plagiat dlatego że ustawił tak samo punkty na tarczy do darta...

 

Ad. “Napisałeś tego tuta jak dla totalnych idiotów.“

Czyli teraz napisałem a nie skopiowałem?

 

Poradnik pisałem z pały i opierając się na kodzie mojego programu.

 

Jedyne co możesz mi zarzucić to to że uczyłem się podstaw HttpRequest od Ciebie i obrałem takie a nie inne wzorce.

Opublikowano

Kod jest identyczny. Dobra, może mam go rozwalić żebyś miał spokój.

 

Zachowałem taka strukturę kodu jaka powinna być. No chyba że response ma być nad requestem i wtedy dasz mi spokój.

 

Miałeś ten swój tut, spoko, ale jedyna podonizna to kod który może mieć jedną postać.

 

Haha, mówisz że mój kod jest ściągnięty żywcem, zgodze się omijając fakt że w Twoim sample(bo trudno nazwać było to tutorialem) byly błędy które sam poprawiałem.

 

Zachowujesz się jak debil bo można to porównać do oskarżenie kogoś o plagiat dlatego że ustawił tak samo punkty na tarczy do darta...

 

Ad. “Napisałeś tego tuta jak dla totalnych idiotów.“

Czyli teraz napisałem a nie skopiowałem?

 

Poradnik pisałem z pały i opierając się na kodzie mojego programu.

 

Jedyne co możesz mi zarzucić to to że uczyłem się podstaw HttpRequest od Ciebie i obrałem takie a nie inne wzorce.

Tak, te straszne błędy to nie dodanie usingów? Każdy normalny sprawdziłby w google, w jakiej bibliotece jest dana klasa.

 

Napisałeś dla idiotów i to racja, bo kto bierze się za pisanie logowania do DO, a nie potrafi projektu utworzyć? Poza tym ja wytłumaczyłem skąd brać request, ty tylko podajesz gotowy.

Opublikowano

Nie masz już się do czego doczepić?

To ja napisałem tego tuta i ja wybieram to jaki będzie miał format i do kogo będę go kierował.

Jeśli to Ci się nie podoba to napisz swój własny, dla prosów i od razu wrzuć kod z błędami żeby musieli szukać rozwiązania.

 

Okej, teraz idę pierdolić się do Twojego TuTa o ataku słownikowi i idę Cię hejtować że napisałeś go źle bo mi się w nim coś nie podoba.

Dodatkowo będę pieprzyć pół roku że taki kod jest już na codeproject i to jest plagiat i jaki Ty to jesteś debil i co Ty w ogóle robisz.

 

Koniec flame bo szkoda mi na Ciebie czasu.

  • 6 miesięcy temu...
Opublikowano

Fajna kłótnia była...

Ale Blat według mnie miał racje.

Miszczu on zrobił poradnik który będzie mógł wykonać każdy, nawet jak nie miał stycznosci z C#.

Btw. tak samo jak bys walnol kod spam bota i ktos zrobi taki sam i to ni eplagiat tylko poprostu inaczej sie nie da.

@Top

Fajny TuT'ek fajnie wytłumaczyłes jeszcze z obrazkami Like dla ciebie X_x

1372687195-U932691.png

Created by

. Gentleman .

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...