Page 1 sur 1

Petit serveur local purebasic

Publié : mer. 22/févr./2017 8:32
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

Re: Petit serveur local purebasic

Publié : mer. 22/févr./2017 9:51
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é.

Re: Petit serveur local purebasic

Publié : mer. 22/févr./2017 9:54
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.