Buchempfehlung
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
Windows-Programmierung. Das Entwicklerhandbuch zur WIN32-API
"Der" Petzold, das über 1000 Seiten starke Standardwerk zum Win32-API - besonders nützlich u. a. bei der GUI-Programmierung in FreeBASIC! [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!

fb:porticula NoPaste

Info
Info / Hilfe
Liste
Übersicht / Liste
Neu
Datei hochladen
Suche
Quellcode suchen
Download
Dateidownload

test_http_get.bas

Uploader:MitgliedThePuppetMaster
Datum/Zeit:27.01.2009 03:37:46
Hinweis: Dieser Quelltext ist Bestandteil des Projekts TSNEX V2/V3 (Extension), zu dem es auf FreeBASIC-Portal.de eine Projektseite gibt.

'##############################################################################################################
'HTTP_Get TEST-CLIENT für TSNE_V3 und TSNEX_V3
'##############################################################################################################



'##############################################################################################################
#include once "TSNEX_V3.bi"             'Wir binden die TSNE-X Version 3 ein. Sie beinhaltet bereits die TSNE_V3



'##############################################################################################################
'Ein Callback (Das ist Optional), kann den aktuellen fortschritt anzeigen. Dabei wird die Maximalgrösse sowie
'die bereits heruntergeladene Datengrösse angezeigt.
Sub ProgressCallback(V_Max as UInteger, V_Value as UInteger)
locate , 1                              'Wir positionieren unseren Cursor an den Anfang der Zeile
Print Str(V_Max); " / "; Str(V_Value);  'Und schreiben odrt (ohen Zeilenumbruch) die aktuellen Werte hin.
End Sub



'##############################################################################################################
'Die URL Definieren. Sie wird per Commandline übergeben und muss folgendermassen aufgebaut sein:
'http://[<benutzername>[:<Passwort>]@]<Hostname>.<Domain>/[<verzeichniss>]/[<Dateiname>][.<Dateierweiterung>]
'Als beispiel kann man "Http://www.google.de/" oder "Http://www.google.de/index.hml" nutzen
Dim XURL as String = Command()


'Wir declarieren noch (ist optional) eine Variable, welche den HTTP-Statuscode aufnehmen wird.
'Damit können wir überprüfen, ob die abfrage erfolgreich war. Liefert sie einen Wert von 200 zurück, dann
'teilt uns der HTTP-Server dadurch mit, das alles OK war, und er die angeforderten Daten überträgt.
Dim XReturn as UShort


'Hier rufen wir die Get Funktion für HTTP auf.
'Dabei übergeben wir der Funktion eine Komplette URL, welche bereits Host / Port / User und Passwort enthält.
'Alternativ können auch alle Angaben direkt der Funktion übergeben werden, falls keine URL verwendet werden soll.
'Zusätzlich KANN (muss NICHT) ein Callback angegeben werden. Dieses Informiert uns über den aktuellen Fortschritt.
'
'Wird kein Zielverzeichniss angegeben, wird die Datei automatisch in das Selbe verzeichniss geschrieben.
'Ist eine Datei mit dem selben Namen schon vorhanden, erfolgt eine Fehlermeldung. Die Datei muss folglich zuvor
'von hand gelöscht werden, damit die Funktion den Download aufnehmen kann.
'Die Datei kann mit "Kill" von hand gelöscht werden.
Dim RV as Integer = TSNEX_HTTP_Get(XURL, , , , , , XReturn, , , , @ProgressCallback)
Print ""                                    'Da wir ein Callback nutzen, das beim Print keine zeilenumbrüche macht, machen wir jetzt einen
If RV <> TSNEX_Const_NoError Then         'Prüfen, ob die Abfrage erfolgreich war. Wenn nicht
    Print TSNEX_GetGURUCode(RV)             'dann geben wir den Fehlercode zurück
    End -1                                  'Und beenden das Programm
End If

Print "HTTP_Status_Code: "; XReturn         'Zu guter letzt noch den HTTP_Status_Code ausgeben.
                                            '200 = Alles OK
                                            '404 = Datei wurde nicht gefunden
                                            '... = Siehe: HTTP://de.WikiPedia.org/wiki/HTTP
                                            '      bzw.   HTTP://de.WikiPedia.org/wiki/HTTP#HTTP-Statuscodes



End 0                                       'Zum schluss das Programm sauber beenden