Il serait intéréssent de mettre en place une commande networkproxy("urlproxy") qui concernerait les commandes mails/ftp/http de manière plus générale à mon avis, qu'en penssez vous ?
de plus il n' y pas de commandes pou récupéré automatiquement le proxy InternetExplorer (j'ai bien créer quelques procédures, que je vous partage volontié) :
Code : Tout sélectionner
Procedure.s console_convert(ligne.s)
ligne.s=ReplaceString(ligne.s,"‚","é"):ligne.s=ReplaceString(ligne.s,"Š","è"):ligne.s=ReplaceString(ligne.s,"ÿ"," "):ligne.s=ReplaceString(ligne.s,"ˆ","ê"):ligne.s=ReplaceString(ligne.s,"‡","ç"):ligne.s=ReplaceString(ligne.s,"“","ô")
ProcedureReturn ligne.s
EndProcedure
Procedure.s get_reg_query(chemins.s,chaine.s)
Protected ligne.s,Compiler.l,sortie.s
Compiler = RunProgram("reg","query "+Chr(34)+chemins.s+Chr(34)+" /v "+chaine.s,"",#PB_Program_Open|#PB_Program_Read|#PB_Program_Hide|#PB_Program_Ascii)
If Compiler
While ProgramRunning(Compiler)
ligne.s=ReadProgramString(Compiler)
If ligne.s
sortie.s+ligne.s+#CRLF$
EndIf
Wend
ProcedureReturn console_convert(sortie.s)
Else
ProcedureReturn "NOFIND"
EndIf
EndProcedure
Procedure.s get_ie_proxy()
Protected temp.s
temp.s=get_reg_query("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyEnable");:Debug temp.s
If FindString(temp.s,"0x0"):proxyenable.l=0:Else:proxyenable.l=1:EndIf
temp.s=get_reg_query("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","AutoConfigURL");:Debug temp.s
If FindString(temp.s,""):autoenable.l=0:Else:autoenable.l=1:EndIf
temp.s=get_reg_query("HKCU\Software\Microsoft\Windows\CurrentVersion\Internet Settings","ProxyServer");:Debug temp.s
If FindString(temp.s,"REG_SZ"):proxyserver.s=StringField(temp.s,2,"REG_SZ "):Else:proxyserver.s="":EndIf
sortie.s=Str(proxyenable)
sortie.s+Str(autoenable)
sortie.s+proxyserver.s
ProcedureReturn sortie.s
EndProcedure
Procedure.l test_proxy(proxy.s,urltest.s="https://www.google.fr/")
Protected *buffer,testsans.l,testavec.l,HttpRequest.l,retour.l
Debug proxy.s
HttpRequest = HTTPRequest(#PB_HTTP_Get, urltest.s)
If HttpRequest
Debug "Réponse: " + HTTPInfo(HTTPRequest, #PB_HTTP_Response)
testsans.l=Val(HTTPInfo(HTTPRequest, #PB_HTTP_StatusCode))
If testsans.l=200:testsans.l=1:Else:testsans.l=0:EndIf
FinishHTTP(HTTPRequest)
Else
testsans.l=0
EndIf
HTTPProxy(proxy.s)
HttpRequest = HTTPRequest(#PB_HTTP_Get, urltest.s)
If HttpRequest
;Debug "Réponse: " + HTTPInfo(HTTPRequest, #PB_HTTP_Response)
testavec.l=Val(HTTPInfo(HTTPRequest, #PB_HTTP_StatusCode))
Select testavec.l
Case 200:testavec.l=1
Case 401,407,406,403,402,600:testavec.l=2;identify un bloquage proxy
Default:testavec.l=0
EndSelect
FinishHTTP(HTTPRequest)
Else
testavec.l=0
EndIf
Select Str(testsans)+Str(testavec)
Case "10":retour.l=1;=accès sans proxy uniquement
Case "01":retour.l=2;=accès via proxy uniquement
Case "11":retour.l=3;=accès avec les deux
Case "00":retour.l=0;=pas d'accès avec ou sans proxy
Case "02":retour.l=-2;=le proxy bloque clairement l'url et l'accès directe ne fonctionne pas
Case "12":retour.l=-1;=le proxy bloque clairement l'url mais l'accès direct est ok
EndSelect
HTTPProxy("")
ProcedureReturn retour.l
EndProcedure