|
You last visited: Today at 19:07
Advertisement
[VB.NET] String aus Quelltext auslesen
Discussion on [VB.NET] String aus Quelltext auslesen within the .NET Languages forum part of the Coders Den category.
06/27/2012, 17:45
|
#1
|
elite*gold: 0
Join Date: Jul 2009
Posts: 45
Received Thanks: 12
|
[VB.NET] String aus Quelltext auslesen
Hallo zusammen,
ich mache gerade ein Programm was den Serverstatus eines Servers überprüfen soll. Nur hab ich jetzt das Problem, dass er z.B. den Text: "Offline" im Quellcode nicht finden kann, und mir dann als Text false wiedergibt. Um das zu vermeiden hab ich eine If-Anweisung angelegt, was überprüfen soll, das wenn quelle = false ist den Status Offline anzeigt, und wenn true, Online anzeigt.
Nur kann da was irgendwie nicht stimmen, denn hab das Gefühl, dass er den String: "Offline" im Quellcode gar nicht findet und dann false wiedergibt.
Hier ist der Code:
Code:
Dim quelle As String = Me.WebBrowser1.DocumentText.Contains("OFFLINE")
Label3.Text = quelle
If quelle = False Then
Label3.ForeColor = Color.Red
Label3.Text = "OFFLINE"
Timer1.Start()
ElseIf quelle = True Then
Label3.ForeColor = Color.Green
Label3.Text = "ONLINE"
Timer1.Start()
End If
Kann mir jemand vielleicht weiterhelfen?
Danke im vorraus.
MfG
Harry_Fan8
|
|
|
06/27/2012, 18:08
|
#2
|
elite*gold: 0
Join Date: May 2011
Posts: 5,086
Received Thanks: 3,472
|
Quote:
Originally Posted by Harry Fan8
Nur kann da was irgendwie nicht stimmen, denn hab das Gefühl, dass er den String: "Offline" im Quellcode gar nicht findet und dann false wiedergibt.
|
Denk' daran, das "Contains" die Groß- und Kleinschreibung berücksichtigt.
Code:
this.WebBrowser1.DocumentText.ToLower().Contains("offline")
wäre somit eine alternative.
|
|
|
06/27/2012, 18:14
|
#3
|
elite*gold: 0
Join Date: Jul 2009
Posts: 45
Received Thanks: 12
|
Muss der, wenn er das Wort findet nicht eig. true wiedergeben? Denn wenn ich deine Methode benutze kommt das gleiche raus wie bei mir.
|
|
|
06/27/2012, 18:20
|
#4
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Lass dir doch mal den Quelltext ausgeben, klatsch den in den Notepad rein und dann such mal mit STRG+F ob es da sowas wie "offline" gibt. Aber wenn es mit Contains() nicht klappt, dann ist es ja wohl auch nicht vorhanden..
|
|
|
06/27/2012, 18:24
|
#5
|
elite*gold: 0
Join Date: Jul 2009
Posts: 45
Received Thanks: 12
|
Hmm.. naja, ist das unbedingt nötig? ^^
Denn im Quellcode erscheint auch Offline. Nur wenn er das überprüft kommt immer der Wert false raus statt true.
Hier ist die URL vom Server Status:
#edit: habs mal getestet, und hab dort den Status auf Online gesetzt, aber dennoch bleibt er beim Programm auf Offline. Weiß vllt. jemand weiter? :/
MfG
|
|
|
06/27/2012, 18:47
|
#6
|
elite*gold: 40
Join Date: Apr 2012
Posts: 673
Received Thanks: 83
|
Vergiss den Webbrowser, denn wenn du  mit einem Webbrowser aufrufst wirst du ja automatisch zur Startseite weitergeleitet. Verwende daher lieber HttpWebRequest und dann per GetResponse den erhaltenen Quelltext nach online/offline checken.
|
|
|
06/27/2012, 18:52
|
#7
|
elite*gold: 0
Join Date: Jul 2009
Posts: 45
Received Thanks: 12
|
Ja, das liegt daran, dass man nicht registriert ist, man muss sich registrieren und dabei eingeloggt sein, um die Seite zu sehen.
Der Quelltext der Webseite sieht wie folgt aus:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html xmlns:IE>
<head>
<meta http-equiv="Expires" content="0">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<title>06scape - Server Status</title>
<link href="../css/basic-3.css" rel="stylesheet" type="text/css" media="all">
<link href="http://www.06scape.com/img/favicon.ico" rel="shortcut icon">
<link href="http://www.06scape.com/css/main/title-5.css" rel="stylesheet" type="text/css" media="all">
<link href="http://www.06scape.com/css/kbase-2.css" rel="stylesheet" type="text/css" media="all" />
<style type="text/css">
.contentc { padding-bottom: 15px; text-align: center; float: left; width: 33.33333%; }
</style>
</head>
<body style="background-image:url('http://www.06scape.com/img/backgrounds/bg-1.jpg');">
<div id="body">
<div class="frame e">
<span style="float: right;">
<a href="http://www.06scape.com/title.ws">Main Page</a> | <a href="http://www.06scape.com/logout.ws">Logout</a>
</span>
<div>You are logged in as <span style="color: rgb(255, 187, 34);">Harry Fan8</span> <span style="color: red;">Do NOT go to 2006scape.com</span>
</div>
</div> <br />
<div style="text-align: center; background: none;">
<div class="titleframe e">
<b>Server Status</b><br><a href="http://www.06scape.com/title.ws">Main Menu</a><br />
</div>
</div>
<br /><br />
<div class="frame e" style="overflow:auto;"><br>
<div style='text-align: center; width: 50%; margin: 0 auto;'>
The server is currently: <br /><br />
<span style='font-size: 15pt; color: red;'><b>OFFLINE</b></span><br />Note: This does not necessarily mean you will be able to log in.<br /><br />
</div>
</div>
</div>
</body>
</html>
P.S.: Könntest du mir ein Beispiel nennen? Bin noch nicht so ein wirklicher Profi in VB.
MfG
|
|
|
06/27/2012, 19:42
|
#8
|
elite*gold: 40
Join Date: Apr 2012
Posts: 673
Received Thanks: 83
|
Hier findest du etwas zur Post-Method, die du für den Login benötigst:
Und hier zur Get-Method, um die Seite aufzurufen:
Aber mal abgesehen davon. So weit ich weiß kann folgendes doch nicht richtig funktionieren:
Code:
Dim [B][COLOR="Sienna"]quelle As String = Me.WebBrowser1.DocumentText.Contains("OFFLINE")[/COLOR][/B]
Label3.Text = quelle
If [B][COLOR="Sienna"]quelle = False[/COLOR][/B] Then
Label3.ForeColor = Color.Red
Label3.Text = "OFFLINE"
Timer1.Start()
ElseIf [B][COLOR="Sienna"]quelle = True[/COLOR][/B] Then
Label3.ForeColor = Color.Green
Label3.Text = "ONLINE"
Timer1.Start()
End If
Mach es doch einfach so:
Code:
If Me.WebBrowser1.DocumentText.ToLower.Contains("offline") Then
Label3.ForeColor = Color.Red
Label3.Text = "offline"
Timer1.Start()
Else
Label3.ForeColor = Color.Green
Label3.Text = "online"
Timer1.Start()
End If
Ein String kann doch nicht True oder False sein!?
|
|
|
06/27/2012, 21:54
|
#9
|
elite*gold: 0
Join Date: Apr 2010
Posts: 9,696
Received Thanks: 1,811
|
Mach mal Option Strict On dann würde sowas nicht passieren..
|
|
|
 |
Similar Threads
|
[Visual Basic] [Problem] String auslesen/String zufällig wählen
05/06/2012 - General Coding - 4 Replies
Code:
#include <GUIConstants.au3>
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Name Generator", 236, 299, 815, 246)
$Input1 = GUICtrlCreateInput("Username", 24, 72, 185, 21)
$Input2 = GUICtrlCreateInput("Username", 24, 104, 185, 21)
$Input3 = GUICtrlCreateInput("Username", 24, 136, 185, 21)
$Input4 = GUICtrlCreateInput("Username", 24, 168, 185, 21)
$Input5 = GUICtrlCreateInput("Username", 24, 200, 185, 21)
|
Kreditkartendaten bei gebrauchten Konsolen der Xbox360 auslesbar?
03/31/2012 - User Submitted News - 0 Replies
Forscher der Drexel University wollen herausgefunden haben, dass ehemaliger Besitzer einer Xbox 360, die die Konsole an dritte weiterverkauft haben künftig um ihre angegebenen Daten zittern.
Hacker soll es durch einfach Modding-Tools ein Kinderspiel sein von der Festplatte der gebrauchten Konsole Daten auszulesen, die eigentlich schon gelöscht waren, darunter auch Kreditkarteninformationen. Microsoft habe zwar vieles dafür getan, die eigenen Informationen zu schützen, sei beim Schutz der...
|
Quelltext stelle nicht auslesbar
09/02/2011 - AutoIt - 6 Replies
Hi,
ich hab hier ein Problem mit dem Quelltext auslesen mit WebTcp und _stringbetween.
$slprometium=_StringBetween($oWebTcp.body, 'id="prometiumCollector_skylabPendingRobots&q uot;>', '</td>')
$slendurium=_StringBetween($oWebTcp.body, 'id="enduriumCollector_skylabPendingRobots&qu ot;>', '</td>')
$slterbium=_StringBetween($oWebTcp.body, 'id="terbiumCollector_skylabPendingRobots&quo t;>', '</td>')
Bei der Abfrage: if IsArray($slprometium and $slendurium and $slterbium) then
msgbox(64,...
|
[VB08]String in String mit mehreren Funden
08/08/2011 - .NET Languages - 6 Replies
Hey,
bin gerade auf ein Problem gestoßen, an dem ich mir seit 3 Stunden die Zähne ausbeiße.
Ich will eine Funktion schreiben, die der _StringBetween Funktion von AutoIt gleich ist. _StringBetween gibt in einem Array alle Strings zwischen zwei SubStrings und dem ganzen String aus. Die Ausgabe bei
_StringBetween("<h1>test1</h1>&l t;h1>test2</h1>", "<h1>", "</h1>") wäre also idealer Weiße ein Array (x = "test1", x = "test2")...
da man in VB08 kein Array returnen kann, komme ich aber einfach...
|
All times are GMT +1. The time now is 19:08.
|
|