Webpage File öffnen und Einlesen

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Hakkai

Betreff: Webpage File öffnen und Einlesen

BeitragFr, Okt 16, 2009 1:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
ich möchte eine Website aufrufen wo ein File: "Server1data.txt" liegt, oder auch nicht, dann soll ein Fehler kommen.
Dieses File will ich einlesen und zb. 2 Variablen daraus für mein Blitz3D Programm deklarieren.

in der Datei steht meinetwegen:
Server: Horst
PW: pwHorst

Wie löst man sowas am besten, gibt es dafür vieleicht ein Tutorial?
Grüße.

Midimaster

BeitragFr, Okt 16, 2009 9:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Schon "OpenTCPStream" versucht?

Du musst nur Deine Homepage hier einsetzen:
Aber achte beim Dateinamen auf korrekte Groß/Kleinschreibung
Code: [AUSKLAPPEN]

; Beispiel aus der BlitzForum Hilfe:
DeineHomepage$="www.deine.de"
DeineDatei$="Server1data.txt"

Print "Verbinde..."
tcp = OpenTCPStream(Deine Homepage, 80)
If Not tcp Print "Fehlgeschlagen": WaitKey : End
Print "Verbunden! Sende Anfrage..."
WriteLine tcp, "GET http://" + DeineHomepage + "/" + DeineDatei + " HTTP/1.0"
WriteLine tcp, Chr$(10)
If Eof(tcp) Print "Fehlgeschlagen.": WaitKey: End
Print "Anfrage gesendet! Warte auf Antwort..."
While Not Eof(tcp)
   Print ReadLine$( tcp )
   Print "Bytes verfügbar:" + ReadAvail(tcp)
Wend
If Eof(tcp) = 1 Then
   Print "Erfolgreich!"
Else
   Print "Fehler!"
EndIf
CloseTCPStream tcp
WaitKey()
End

TimBo

BeitragFr, Okt 16, 2009 11:04
Antworten mit Zitat
Benutzer-Profile anzeigen
HI

deine Seite kannst du wie schon gesagt mit Openfile (wenn lokal) oder mit OpenTcpStream öffnen.

Aber es geht soweit ich weiß nicht, eine Variable mit einem Ausgelesenen Variablenamen zu erstellen. Könntest ja 2 Dummy Variablen machen. VarI und VarII. Definieren geht aber Deklarieren glaube ich nicht... (wenn ich da nicht was falsch verstanden habe)

Auslesen geht mit Readline.

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Tankbuster

BeitragFr, Okt 16, 2009 12:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Wär es nicht sinnvoller für sowas ein DNS zu verwenden. Der Server läuft ja wahrscheinlich sowieso auf einem Heimrechner, also könntest du da eine DynDNS einrichten und einfach immer direkt dahin verbinden. Wenn keiner Antwortet ist der Server halt offline.

http://www.no-ip.com bietet so ein DynDNS-Dienst zum Beispiel kostenlos an Wink
Twitter
Download Jewel Snake!
Windows|Android

ozzi789

BeitragFr, Okt 16, 2009 12:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Wenn du DynDNS verwendest must aber auf deinem Server den AutoSync (oder wie der auch heisst) installieren, dieser meldet DynDNS immer welche IP du hast und passt es an.

D.h aus einer dynamischen IP hast du eine statische Adresse

Wie ich sehe hat diese NOIP Seite auch so nen Updater, kenne die Seite aber nicht, ich leg dir DynDNS ans Herz, leistet seinen Dienst nun schon 1.5 Jahre ohne Probleme Smile

mfg
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Tankbuster

BeitragFr, Okt 16, 2009 12:49
Antworten mit Zitat
Benutzer-Profile anzeigen
no-ip benutzte ich seit..... 2-4 Jahren,glaube ich. Am Anfang für eine Homepage und einen Kal-Server, und dann für meine Blitz-Proggis.

Das Prinzip dahinter hat ozzi ja schon erklärt.

Das ist eben deshalb praktisch, weil du nicht immer irgendwoher die IP besorgen musst, sondern du einfach durch eine Adresse.....

Zitat:
"irgendwas.no-ip.com"
"irgendwas.dyndns.com"


.....die IP leicht herrausfinden kannst. Einfach einen TCP-Stream dahin öffnen, und die IP mit TCPStreamIP zurückgeben lassen.


Eventuell musst du dann an deinem Router noch ein bisschen konfigurieren, damit das passt, aber das musst du für deinen Blitz-Server ja sowieso Wink
Twitter
Download Jewel Snake!
Windows|Android

Hakkai

BeitragFr, Okt 16, 2009 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke für die Ratschläge ich schaue mir alles mal an.

_____
Edit:

Habe den ersten Vorschlag versucht, aber es scheitert schon am Verbindungsaufbau.
Versucht habe ich meine eigene Webadresse und eine Reihe anderer Webseiten aber ich bekomme immer ein "Failed".
Habt ihr eine Adresse mit der ich das testen kann?

Code: [AUSKLAPPEN]

Print "Connecting..."
tcp=OpenTCPStream( "http://www.google.de",80 )

If Not tcp Print "Failed.":WaitKey:End

Silver_Knee

BeitragFr, Okt 16, 2009 17:14
Antworten mit Zitat
Benutzer-Profile anzeigen
kein http. Das ist das protokoll. der server heißt nur google.de oder www.google.de

Hakkai

BeitragFr, Okt 16, 2009 17:19
Antworten mit Zitat
Benutzer-Profile anzeigen
TY.

_____
Edit:
Hat alles bestens funktioniert, jetzt will ich aber mehrere Dateien auslesen, deren Namen ich nicht kenne
zb: horst_server.txt, phil_server.txt, susi_server.txt

Kann ich mit TCP die Datei-Inhalte auslesen wie man das mit Dir-Befehlen und *_server.txt machen würde?

Ich verstehe auch nicht was genau mir OpenTcpStream zurückgibt, ist das der Quellcode an der Stelle?
Ich meine das was ich Zeile für Zeile auslese sieht ein wenig wie Web-Quellcode aus, unterscheidet sich aber von dem was ich bekomme wenn ich den Quelltext manuell anzeigen lasse.

Silver_Knee

BeitragFr, Okt 16, 2009 23:42
Antworten mit Zitat
Benutzer-Profile anzeigen
jo du bekommst das htt-protokoll zurück (deshalb sonst http..) also nicht nur die datei sondern einige andere informationen dazu auch noch.

Also ne dateiliste von allein bekommst du nicht (wie auch nicht im browser) du kannst dich aber mal an php versuchen und einen skript schreiben der als dateiinhalt von sich selbst dann alle dateien im ordner vorgaukelt.

http://de3.php.net/manual/de/book.dir.php

Hakkai

BeitragSa, Okt 17, 2009 0:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Also im Browser bekomm ich die Dateiliste angezeigt, weil ich alle Rechte an alle gegeben habe, Versuchsweise natürlich nur.

also so hier, oder meinst du etwas anderes?
Ich kann hier leider nur html und CSS nutzen, kein PhP.

user posted image

Silver_Knee

BeitragSa, Okt 17, 2009 13:14
Antworten mit Zitat
Benutzer-Profile anzeigen
ah ok wenn dein webserver das unterstützt dann brauchst du kein php.

schick dem server einfach keine datei sodass am ende ein / steht. Dann bekommst du genau diese seite wie in deinem browser. du musst dann natürlich noch die ganzen dateinamen aus den html tags rausholen

TimBo

BeitragSa, Okt 17, 2009 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

nicht ganz. Wenn du ein Image hochgeladen hast, dann bekommst du bspw. das Bild zugeschickt (also wie als würdest du es mit Notepad öffnen).

Also mach einfach eine Anfrage an die *.koa Datei, und du bekommst den Inhalt zugesendet Very Happy
-MIT dem "/"


Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Holzchopf

Meisterpacker

BeitragSa, Okt 17, 2009 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Juhuu, meine erste offizielle Amtshandlung!

~VERSCHOBEN~

Ist unter Allgemein eindeutig besser aufgehoben als unter B3D.
Holzchopf
Erledige alles Schritt um Schritt - erledige alles. - Holzchopf
CC BYBinaryBorn - Yogurt ♫ (31.10.2018)
Im Kopf da knackt's und knistert's sturm - 's ist kein Gedanke, nur ein Wurm

Hakkai

BeitragSa, Okt 17, 2009 18:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo hat alles funktioniert
mit Php, wenn der Webspace das zulässt
eine Datei mit dem Inhalt:

Code: [AUSKLAPPEN]
<?php
$dir    = 'server_data';
$files1 = scandir($dir);

print_r($files1);

?>


erzeugen und diese dann abfragen oder
bei Html mit / am Ende

Werde es mit dem / machen, da brauch ich die Php-Datei nicht und ich kann mein alten Webspace weiter nutzen.

Danke für die Tips.

PS.: verschieben hätte man das nicht zu brauchen, es ging ja vorrangig um Blitz3D, oder sehe ich das Falsch?

TimBo

BeitragSa, Okt 17, 2009 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,

dein Code geht genauso mit B+ und B2D (damit meine ich Graphics2D)

Grüße
TimBo
mfg Tim Borowski // CPU: Ryzen 2700x GPU: Nvidia RTX 2070 OC (Gigabyte) Ram: 16GB DDR4 @ 3000MHz OS: Windows 10
Stolzer Gewinner des BCC 25 & BCC 31
hat einen ersten Preis in der 1. Runde beim BWInf 2010/2011 & 2011/12 mit BlitzBasic erreicht.

Nicdel

BeitragSa, Okt 17, 2009 18:58
Antworten mit Zitat
Benutzer-Profile anzeigen
Blitz3D ist eher für Dinge, die mit 3D zu tun haben. Schau dir mal die Beschreibung an Wink
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7

Hakkai

BeitragSa, Okt 17, 2009 19:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Stimm auch wieder, habe irgendwie gerade nur an B3D gedacht.

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group