Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 14:17

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



[C#]Mit HttpWebRequest auf Seite einloggen.

Discussion on [C#]Mit HttpWebRequest auf Seite einloggen. within the .NET Languages forum part of the Coders Den category.

Closed Thread
 
Old   #1


 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
[C#]Mit HttpWebRequest auf Seite einloggen.

Hallo,
Ich möchte mich gerne über ein Kleines Programm mit 2 Eingabefeldern und einem Login Button auf einer Seite einloggen.
Mein Ziel ist es, nach dem Login die Cookies auslesen zu können, da dort für mich wichtige Infos gespeichert werden
Code:
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.IO;
using System.Net;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {

        }

        private void id01_TextChanged(object sender, EventArgs e)
        {
            //string id01 = textBox1.Text;

        }

        private void pw01_TextChanged(object sender, EventArgs e)
        {
            //string pw01 = textBox2.Text;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            string url = "http://passport.nexoneu.com/Login.aspx?nexoneuTheme=NexonEU";
            webBrowser1.DocumentText = sendRequest(url);
            
        }
        public string sendRequest(string url)
        {
            //LOGIN 
            ASCIIEncoding encoding = new ASCIIEncoding();
            byte[] loginData = encoding.GetBytes("do=login" + "&txtLogin0=" + id01.Text + "&txtPassword0=" + pw01.Text);
            CookieContainer cookieContainer = new CookieContainer();

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url + "login.php?do=login");///
            request.CookieContainer = cookieContainer;
            request.Method = "POST";
            request.ContentType = "application/x-www-form-urlencoded";

            Stream stream = request.GetRequestStream();
            stream.Write(loginData, 0, loginData.Length);
            stream.Close();
            HttpWebResponse response = (HttpWebResponse)request.GetResponse();
            MessageBox.Show(url);
            url = ("http://en.nexoneu.com/NXEU.aspx?PART=/Main");
            CookieContainer cookieContainer2 = new CookieContainer();
            HttpWebRequest request2 = (HttpWebRequest)WebRequest.Create(url);
            MessageBox.Show(url);
Was ist falsch?
Ich habe so etwas noch nie gemacht und praktisch alles auf msdn nachgeschlagen. Können also einige logische Fehler drinn sein.



Lawliet is offline  
Old 06/08/2011, 19:21   #2
 
elite*gold: 0
Join Date: Jan 2011
Posts: 144
Received Thanks: 73
Hi,
also wenn du einen POST absenden willst, dann noch die HTML seite und die Cookies Speichern willst hast du in deiner sendRequest Funktion ein paar kleinigkeiten Vergessen, im Endeffekt müste das so aussehen:

Code:
         private string sendRequest(string host, string path, string post)
         { 
                HttpWebRequest request1 = (HttpWebRequest)HttpWebRequest.Create("https://" + host + path);
                request1.Method = "POST";
                request1.Host = host;
                request1.ContentType = "application/x-www-form-urlencoded";

                request1.Referer = referer;
                request1.CookieContainer = new CookieContainer();
                request1.CookieContainer = cookiecontain;
                request1.CookieContainer.Add(cookiecoll);
                ASCIIEncoding encoding = new ASCIIEncoding();
                byte[] loginDataBytes = encoding.GetBytes(post);
                request1.ContentLength = loginDataBytes.Length;
 
                Stream stream = request1.GetRequestStream();
                stream.Write(loginDataBytes, 0, loginDataBytes.Length);
                stream.Close();

                HttpWebResponse response = (HttpWebResponse)request1.GetResponse();
                StreamReader sr = new StreamReader(response.GetResponseStream());
                string html = sr.ReadToEnd();
                sr.Close();
                cookiecontain.Add(response.Cookies);
                cookiecoll.Add(response.Cookies);
                response.Close();
                return html;
         }
Ich Verwende immer eine Cookiecollection und einen cookiecontainer, warum frag mich was leichteres ist aus der Angewohnheit entstanden, daher benötigst du halt noch so was in deinem Quellcode:
Code:
 CookieContainer cookiecontain = new CookieContainer();
 CookieCollection cookiecoll = new CookieCollection();


Ronox is offline  
Thanks
1 User
Old 12/07/2017, 02:10   #3
 
elite*gold: 0
Join Date: Jan 2014
Posts: 369
Received Thanks: 166
Also ich hab den Ogame bot geschrieben.

Du solltest vor dem Login im Prinzip zu erst die Login-Seite mit einem request aufrufen und bei dem Request schon einen CookieContainer anlegen.

CookieContainer cookieContainer = new CookieContainer();
httpWebRequest.CookieContainer = cookieContainer;
globals.CC = cookieContainer;

danach musst du den cookieContainer immer bei jedem request mit übergeben. Ich speicher den Cookiecontainer in einer statischen Variable ab die ich dann immer wieder nutzen kann.
Onkelmat is offline  
Closed Thread



« Brauche Hilfe! - Mit jeder Checkbox den selben Button aktivieren? | c# httpwebrequest Travian »

Similar Threads
HttpWebRequest C# Browsergame Bot
12/07/2017 - .NET Languages - 4 Replies
Hi, i have the following problem and it would be great if s.o. could help me. I try to write a simple bot for a browsergame which uses the HttpWebRequest and Response classes from C#. Currently i try to log in with the following script but i only get back to the login page. When i try to catch a site for logged in members only i also only get the login page. There has to be a problem with the cookie but i don't know where :( class HttpHelper { private CookieContainer...
c# httpwebrequest Travian
12/07/2017 - .NET Languages - 2 Replies
Gude Leute ich hätt da mal ein anliegen ich will mir ein kleines Tool zur vereinfachten bedinung von Travian schreiben nur leider bekomme ich das irgendwie nicht auf die Reihe. da mein Code nicht so recht funktioniert hat habe ich mir den code von jemand anderes mal geklaut aber der ergibt das gleiche problem. Das Probleme ist er zeigt die Seite nicht richtig an und er baut keine truppen wenn ich auf Button1 click. wenn mir einer das vielleicht mal flicken könnte oder mir erklären...
Kann mich nicht aufer WR seite einloggen ...
12/25/2010 - WarRock Hacks, Bots, Cheats & Exploits - 8 Replies
Immer wenn ich mir was kaufen will auf der WR Seite...stürtzt die seite ab.Ist das normal ?
[C#]MD5-Cheksumme mit HttpWebRequest oä
08/18/2010 - .NET Languages - 1 Replies
Ich will mir mal einen gescheiten Patcher für Metin2 machen.. Jetzt soll er von den Files auf meinem Server die Checksummen ausspucken. Die Datei sollte nicht heruntergeladen werden... System.IO.FileStream FileCheck = System.IO.File.OpenRead(Dateipfad); System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvi der(); byte md5Hash = md5.ComputeHash(FileCheck);



All times are GMT +2. The time now is 14:17.


Powered by vBulletin®
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

BTC: 33E6kMtxYa7dApCFzrS3Jb7U3NrVvo8nsK
ETH: 0xc6ec801B7563A4376751F33b0573308aDa611E05

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2020 elitepvpers All Rights Reserved.