Dirk Diggler Posted June 28, 2007 Share Posted June 28, 2007 I have some workstations in my LAN, and i want to test if some sites is alive. But InetGET doesn't work. I use such script to test it: HttpSetProxy (2, "192.168.100.1:3128" , "avv", "shaolin" ) InetGet("http://www.mozilla.org",'c:\foo.html') MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & 'InetGet("http://www.mozilla.org","c:\foo.html")' & @lf & @lf & 'Return:' & @lf & InetGet("http://www.mozilla.org",'c:\foo.html') & @lf & @lf & '@Error:' & @lf & @Error) ;### Debug MSGBOX InetGet("http://tega.ru/dirk/download.html") MsgBox(262144,'Debug line ~' & @ScriptLineNumber,'Selection:' & @lf & 'InetGet("http://tega.ru/dirk/download.html")' & @lf & @lf & 'Return:' & @lf & InetGet("http://tega.ru/dirk/download.html") & @lf & @lf & '@Error:' & @lf & @Error) ;### Debug MSGBOX I'm ABSOLUTELY sure that proxy address, port, username and password is correct - proxy is installed and configured by me, and I every day use my credentials to surf the net. But, first MsgBox shows me Return: 0 @error: 10second: Return: 0 @error: 0 what's a problem? how to test outer hosts? Link to comment Share on other sites More sharing options...
Dirk Diggler Posted June 28, 2007 Author Share Posted June 28, 2007 up Link to comment Share on other sites More sharing options...
lod3n Posted June 28, 2007 Share Posted June 28, 2007 (edited) As per the help file: only CERN proxy servers are supported. I suspect your proxy does not adhere to CERN standards. Neither does mine. However, Microsoft provides the nifty WinHttp.WinHttpRequest.5.1 object, which does the job nicely. The following works just fine on my network, and works in both Integrated Security and non Integrated Security modes. I prefer the Integrated Security mode, as I don't like to put passwords in unencrypted files if I can help it. expandcollapse popup;set parameters for using Global $UseIntegratedSecurity = False Global $ProxyServer = "10.0.0.1:8080" Global $ProxyUser = "username" ;if $UseIntegratedSecurity is true (and working), these can be blank Global $ProxyPass = "password" ;create WinHttpRequest object for downloading config info Global $oHttp = ObjCreate ("WinHttp.WinHttpRequest.5.1") $oHttp.SetProxy(2,$ProxyServer) ; PRECONFIG = 0 (default), DIRECT = 1, PROXY = 2 $sHTML = httpget("http://www.google.com") ConsoleWrite($sHTML & @CRLF) func httpget($url) $COMerrnotify = false If $UseIntegratedSecurity Then $oHttp.SetAutoLogonPolicy(0) ; Always = 0, OnlyIfBypassProxy = 1, Never = 2 Else $oHttp.SetAutoLogonPolicy(2) ; Always = 0, OnlyIfBypassProxy = 1, Never = 2 EndIf $status = $oHttp.Open("GET", $url,false) If Not $UseIntegratedSecurity Then $oHttp.SetCredentials($ProxyUser,$ProxyPass,0) ; HTTPREQUEST_SETCREDENTIALS_FOR_SERVER = 0 EndIf $oHttp.Send() if $oHttp.Status <> "200" then $status = $oHttp.Status $StatusText = $oHttp.StatusText Consolewrite("Status: " & $status & @crlf) Consolewrite("StatusText: " & $StatusText & @crlf) $COMerrnotify = true SetError(1) return $status & " - " & $StatusText Else $COMerrnotify = true SetError(0) Consolewrite("Response Headers: " & $oHttp.GetAllResponseHeaders & @crlf) return $oHttp.ResponseText EndIf EndFunc ;_IEErrorHandlerRegister("ComErrFunc") $oIEErrorHandler = ObjEvent("AutoIt.Error","ComErrFunc") global $COMerrnotify = true Func ComErrFunc() If IsObj($oIEErrorHandler) Then if $COMerrnotify then ConsoleWrite("--> ComErrFunc: COM Error Encountered in " & @ScriptName & @CR) ConsoleWrite("----> Scriptline = " & $oIEErrorHandler.scriptline & @CR) ConsoleWrite("----> Number Hex = " & Hex($oIEErrorHandler.number, 8) & @CR) ConsoleWrite("----> Number = " & $oIEErrorHandler.number & @CR) ConsoleWrite("----> Win Description = " & StringStripWS($oIEErrorHandler.WinDescription, 2) & @CR) ConsoleWrite("----> Description = " & StringStripWS($oIEErrorHandler.description, 2) & @CR) ConsoleWrite("----> Source = " & $oIEErrorHandler.Source & @CR) ConsoleWrite("----> Help File = " & $oIEErrorHandler.HelpFile & @CR) ConsoleWrite("----> Help Context = " & $oIEErrorHandler.HelpContext & @CR) ConsoleWrite("----> Last Dll Error = " & $oIEErrorHandler.LastDllError & @crlf) EndIf $HexNumber = Hex($oIEErrorHandler.number, 8) SetError($HexNumber) Else SetError(1) EndIf Return 0 EndFunc Edited June 28, 2007 by lod3n [font="Fixedsys"][list][*]All of my AutoIt Example Scripts[*]http://saneasylum.com[/list][/font] Link to comment Share on other sites More sharing options...
raquien Posted September 11, 2007 Share Posted September 11, 2007 thanks lod3n, this works for me.. Link to comment Share on other sites More sharing options...
lod3n Posted September 11, 2007 Share Posted September 11, 2007 You're welcome. [font="Fixedsys"][list][*]All of my AutoIt Example Scripts[*]http://saneasylum.com[/list][/font] Link to comment Share on other sites More sharing options...
Nahuel Posted September 11, 2007 Share Posted September 11, 2007 *nothing to do with the topic* HAHA, Dirk Diggler... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now