Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > .NET Languages
You last visited: Today at 21:46

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

Advertisement



[C#] Nach Zeichenkette in String suchen und ausgeben lassen?

Discussion on [C#] Nach Zeichenkette in String suchen und ausgeben lassen? within the .NET Languages forum part of the Coders Den category.

Reply
 
Old   #1


 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,357
Received Thanks: 705
[C#] Nach Zeichenkette in String suchen und ausgeben lassen?

Moin,
will in einer PictureBox den Captcha von der Google-Mail Registrierung anzeigen lassen. Natürlich ist das nicht einfach über eine ID oder den name aufrufbar, also muss ich hier ganz klar den Quelltext der Seite nach einer bestimmten Zeichenkette durchsuchen, die Position davon + oder - ein paar Stellen nehmen (da sich die URL zum Captcha ja immer ändert).

Irgendwie will das so aber nicht ganz bei mir. Dass ich hier IndexOf() und SubString() brauche ist mir auch klar, ich bekomms aber einfach nicht hin, könnt ihr mir helfen?
StridingGiant is offline  
Old 11/13/2012, 19:05   #2


 
Lawliet's Avatar
 
elite*gold: 2
Join Date: Jul 2009
Posts: 14,456
Received Thanks: 4,685
Schau dir mal RegEx an
Lawliet is offline  
Old 11/13/2012, 19:20   #3
 
'Heaven.'s Avatar
 
elite*gold: 1
The Black Market: 331/0/0
Join Date: Jun 2012
Posts: 5,819
Received Thanks: 3,200
Wo ist denn da dein Problem?
Ich mache das mal in Vb, kannst es dann in C# übersetzen, sollte nicht so schwer sein^^

Code:
 Public Function WebRGET(ByVal sUrl As String, Optional ByRef cookies As CookieContainer = Nothing) As String

        Dim Request As HttpWebRequest = CType(WebRequest.Create(sUrl), HttpWebRequest)
        Request.Method = "GET"
        Request.CookieContainer = cookies
        Request.ContentType = "application/x-www-form-urlencoded"

        Dim Response As HttpWebResponse = CType(Request.GetResponse(), HttpWebResponse)
        Dim DataStream = Response.GetResponseStream()
        Dim reader As New StreamReader(DataStream)
        Dim ServerResponse As String = reader.ReadToEnd()
        reader.Close()
        DataStream.Close()
        Response.Close()

        Return ServerResponse

    End Function
   Public Function GetBetween(ByRef strSource As String, ByRef strStart As String, ByRef strEnd As String, Optional ByRef startPos As Integer = 0) As String
        Try
            Dim iPos As Integer, iEnd As Integer, lenStart As Integer = strStart.Length
            Dim strResult As String
            strResult = String.Empty
            iPos = strSource.IndexOf(strStart, startPos)
            iEnd = strSource.IndexOf(strEnd, iPos + lenStart)
            If iPos <> -1 AndAlso iEnd <> -1 Then
                strResult = strSource.Substring(iPos + lenStart, iEnd - (iPos + lenStart))
            End If
            Return strResult
        Catch
            Return False
        End Try
    End Function
 Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        PictureBox1.ImageLocation = "https://www.google.com/recaptcha/api/image?c" & GetBetween(WebRGET("https://accounts.google.com/SignUp?continue=http%3A%2F%2Fwww.google.de%2F&hl=de"), "https://www.google.com/recaptcha/api/image?c", Chr(34))

    End Sub
Ich weiß, ist nicht die optimalste lösung^^
'Heaven. is offline  
Old 11/15/2012, 19:12   #4
 
elite*gold: 35
Join Date: Jun 2012
Posts: 1,126
Received Thanks: 43
Ganz einfach hier mit

Code:
HttpWebRequest myRequest = (HttpWebRequest)HttpWebRequest.Create("https://accounts.google.com/SignUp?service=mail&hl=de&continue=http%3A%2F%2Fmail.google.com%2Fmail%2F%3Fpc%3Dde-ha-emea-de-sk&utm_campaign=de&utm_source=de-ha-emea-de-sk&utm_medium=ha");
            HttpWebResponse myRes = (HttpWebResponse)myRequest.GetResponse();
            myRequest.Method = "GET";
            myRes = (HttpWebResponse)myRequest.GetResponse();
            StreamReader sr = new StreamReader(myRes.GetResponseStream());
            string html = sr.ReadToEnd();
            html = System.Text.RegularExpressions.Regex.Replace(html, @"""", string.Empty);
            Regex Url = new Regex("(?<=<img src=https://www.google.com/recaptcha).*(?=[a-z]{0,10}[0-9]{0,10}[A-Z]{0,10}[0-9]{0,10})");

            string udl = Url.Match(html).ToString();
            Console.Write(udl);
            Console.ReadLine();
bekommst dann den wert hinter "https://www.google.com/recaptcha"
master_oli is offline  
Old 11/17/2012, 21:35   #5


 
elite*gold: 0
Join Date: Jul 2009
Posts: 3,357
Received Thanks: 705
Alles klar, vielen Dank für eure Antworten. Mit Regex hatte ich mich noch nicht beschäftigt, scheint aber auch eine schöne Lösung zu sein
StridingGiant is offline  
Reply


Similar Threads Similar Threads
[Java]Array vom Typ String > Inhalt ausgeben lassen
10/30/2012 - General Coding - 2 Replies
Ahoi epvp, String array= {"x", "y"}; Es handelt sich um diesen Array vom Typ String. Der befindet sich in Klasse "mitarbeiterSuche", allerdings will ich ihn in der Klasse "main" ausgeben. Woran kann das liegen? Eclipse sagt mir dauernd: "array cannot be resolved to a variable"
[F]AutoIT: Möglich MobID suchen zu lassen?!
06/28/2011 - Metin2 - 0 Replies
Hallo verehrte Community, Vorwort: Bin mir leider nicht sicher ob es hier rein kommt, aber mir ist keine bessere Section eingefallen (was Mein2 angeht!) Main-Question: Soo nun mal zu meiner Frage: Und zwar würde ich gerne Wissen ob es mit dem Programm "AutoIT" möglich ist in Metin2 Monster nicht per PixelSearch zu finden, sondern anhand ihrer MobID?!
Autoit Memory suchen lassen
10/07/2010 - AutoIt - 8 Replies
Hi Com, habe mal in einem script von pingui gesehen, dass er eine Funktion namens _searmemory angewandt hat. Nun wollte ich fragen ob jemand diese kennt, und mir diese geben könnte? Leider antwortet er mir nicht. Weil ich würde Probieren einen Autoupdate für meinen Trainer zu adden.
AutoIT]Values Suchen lassen?
09/27/2010 - S4 League - 14 Replies
HI, geht das, dass AutoIT nach der texture ... in S4 league sucht und alles was dann kommt in etwas anderes umendert in 1 z.B ? Also nicht so wie jetzt das man die adresse bracuuht sondern einfach nach 1 suchen lassen alles was er findet zu 2 ändern
D2NT nach ip suchen lassen?
06/01/2010 - Diablo 2 - 6 Replies
kann man den bot eingentlich so einstellen, das er bei einer bestimmten ip in die er joint drin bleibt?



All times are GMT +2. The time now is 21:46.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

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