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
Petit serveur local purebasic
Petit serveur local purebasic
Windows 10 x64 -- Purebasic 5.70 LTS x86
Re: Petit serveur local purebasic
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.
Si la page est atteinte mais retourne un code d'erreur, il suffit d ele traiter par analyse du code source retourné.
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
Re: Petit serveur local purebasic
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