Petit serveur local purebasic

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Petit serveur local purebasic

Message par ChaudEf »

Bonjour
Quand on n'a pas de connexion internet et on essaye de se connecter a un site, (ou meme quand on a une connexion mais on veut se connecter a un site inexistant), on recoit une page d'erreur.
Je cherche a rediriger ces erreurs vers une page html, se trouvant en local sur mon ordinateur.
Si j'ai bien compris, ce n'est pas faisable ni en host, ni en proxy pac, et il faut installer un petit serveur sur l'ordinateur.
Mais... je ne veux pas utiliser d'outils externes, et je me demande si ce projet est realisable en purebasic.

Merci
Windows 10 x64 -- Purebasic 5.70 LTS x86
Marc56
Messages : 2198
Inscription : sam. 08/févr./2014 15:19

Re: Petit serveur local purebasic

Message par Marc56 »

Un proxy peut te retourner une page personnalisée, mais si ton application gère la connexion, il suffit de lui dire quoi faire si la page n'est pas accessible.
ReceiveHTTPFile retourne 0 s'il n'atteint pas la page.

Petit exemple où je crée même la page dynamiquement.

Code : Tout sélectionner

InitNetwork()

Filename$ = GetTemporaryDirectory() + "test.html"

; Bonne page pour tester
; URL$  = "http://www.purebasic.com/index.php"

; Page inexistante pour tester
URL$ = "http://127.0.0.1/index.html"

If Not ReceiveHTTPFile(URL$, Filename$)
     ; Pas de page, donc j'en construis une.
     OpenFile(0, Filename$)
     WriteStringN(0, "<HTML><h1>:-(</h1>Je ne peux pas atteindre la page: " + URL$)
     CloseFile(0)
EndIf

OpenWindow(0, 0, 0, 800, 600, "", $C80001)
WebGadget(0, 10, 10, 780, 580, Filename$)

Debug GetGadgetItemText(0, #PB_Web_StatusMessage)

While WaitWindowEvent() <> #PB_Event_CloseWindow : Wend
Si la page est atteinte mais retourne un code d'erreur, il suffit d ele traiter par analyse du code source retourné.
Avatar de l’utilisateur
ChaudEf
Messages : 179
Inscription : dim. 27/déc./2015 17:02
Localisation : Strasbourg

Re: Petit serveur local purebasic

Message par ChaudEf »

C'est une bonne idee, mais je veut afficher cela dans le navigateur, je veux dire que si on rentre dans le navigateur et on tape sitequinexistepas.com, ca affiche ce message personnalise.
Windows 10 x64 -- Purebasic 5.70 LTS x86
Répondre