Cyborg5000 Posted April 2, 2015 Share Posted April 2, 2015 (edited) Cant get Autoit to read the random passwords from https://www.random.org/passwords/?num=1&len=8&format=html&rnd=new Can some one help? Tried using all IE functions/examples Edited April 2, 2015 by Cyborg5000 Link to comment Share on other sites More sharing options...
water Posted April 2, 2015 Share Posted April 2, 2015 What have you tried so far? My UDFs and Tutorials: Spoiler UDFs:Active Directory (NEW 2022-02-19 - Version 1.6.1.0) - Download - General Help & Support - Example Scripts - WikiExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example ScriptsOutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - WikiOutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - DownloadOutlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - WikiPowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - WikiTask Scheduler (NEW 2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs:Excel - Example Scripts - WikiWord - Wiki Tutorials:ADO - WikiWebDriver - Wiki Link to comment Share on other sites More sharing options...
Cyborg5000 Posted April 2, 2015 Author Share Posted April 2, 2015 _IEFormGetObjByName _IEPropertyGet _IEBodyReadText _IEFormElementGetValue Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted April 2, 2015 Moderators Share Posted April 2, 2015 Cyborg5000,This works for me: #include <Array.au3> #include <IE.au3> Local $oIE = _IECreate("https://www.random.org/passwords/?num=1&len=8&format=html&rnd=new") ; Read page content $sText = _IEDocReadHTML($oIE) ; Extract the password $aExtract = StringRegExp($sText, '(?U)"data">(?:\v*)<li>(.*)</li>', 3) ; And here it is _ArrayDisplay($aExtract, "", Default, 8)SRE decode:(?U) - Look for smallest match (Ungreedy) "data"> - Look for this string (?:\v*) - followed by any number of vertical white space characters (to cover CR/LF/CRLF etc) in a non-capturing group <li> - followed by this tag (.*) - Capture everything </li> - until this tagM23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area Link to comment Share on other sites More sharing options...
Solution Exit Posted April 2, 2015 Solution Share Posted April 2, 2015 (edited) #include <String.au3> MsgBox(262144, "Your Password is",_StringBetween(BinaryToString(InetRead("https://www.random.org/passwords/?num=1&len=8&format=html&rnd=new", 1)), '<ul class="data">' & @LF & '<li>', '</li>')[0],0)Edit: Melba23 was quicker and better Edited April 2, 2015 by Exit App: Au3toCmd UDF: _SingleScript() Link to comment Share on other sites More sharing options...
Kyan Posted April 2, 2015 Share Posted April 2, 2015 ConsoleWrite(_RandomPassword()&@LF) Exit Func _RandomPassword($__PWlength = 8) Local $__pwd = '' For $x = 1 To $__PWlength While 1 $_rnd = Random(65,122,1) If $_rnd < 91 Or $_rnd > 96 Then ExitLoop WEnd $__pwd &= Chr($_rnd) Next Return $__pwd EndFunc Cyborg5000, wouldn't be easier if you gen them? If they are random, why bother getting them from that site? Heroes, there is no such thing One day I'll discover what IE.au3 has of special for so many users using it.C'mon there's InetRead and WinHTTP, way better Link to comment Share on other sites More sharing options...
jguinch Posted April 2, 2015 Share Posted April 2, 2015 (edited) Also with InetRead : Local $sText = BinaryToString(InetRead("https://www.random.org/passwords/?num=1&len=8&format=html&rnd=new")) $aRet = StringRegExp($sText, '<li>([[:alnum:]]{8})</li>', 1) If IsArray($aRet) Then MsgBox(0, "", $aRet[0]) But it should be simplier to generate the password directly with AutoIt, like Kyan suggests. Edit : ConsoleWrite(_Password() ) Func _Password($iLen = 8, $iFlagSpecialChars = 0) Local $sStandardChars = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789", $sPassword Local $sSpecialChars = "$@^`,|%;.~()/\{}:?[]=-+_#!" Local $sChars = $sStandardChars If $iFlagSpecialChars Then $sChars &= $sSpecialChars For $i = 1 To $iLen $sPassword &= StringMid($sChars, Random(1, StringLen($sChars), 1), 1) Next Return $sPassword EndFunc Edited April 2, 2015 by jguinch Spoiler Network configuration UDF, _DirGetSizeByExtension, _UninstallList Firefox ConfigurationArray multi-dimensions, Printer Management UDF Link to comment Share on other sites More sharing options...
Cyborg5000 Posted April 4, 2015 Author Share Posted April 4, 2015 (edited) On 4/2/2015 at 3:50 PM, Exit said: #include <String.au3> MsgBox(262144, "Your Password is",_StringBetween(BinaryToString(InetRead("https://www.random.org/passwords/?num=1&len=8&format=html&rnd=new", 1)), '<ul class="data">' & @LF & '<li>', '</li>')[0],0) Edit: Melba23 was quicker and better Thanks this worked for me..... Edited November 28, 2018 by Cyborg5000 Link to comment Share on other sites More sharing options...
JohnOne Posted April 4, 2015 Share Posted April 4, 2015 What a wonderful free advertisement for random.org. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans. Link to comment Share on other sites More sharing options...
Cyborg5000 Posted April 4, 2015 Author Share Posted April 4, 2015 ConsoleWrite(_RandomPassword()&@LF) Exit Func _RandomPassword($__PWlength = 8) Local $__pwd = '' For $x = 1 To $__PWlength While 1 $_rnd = Random(65,122,1) If $_rnd < 91 Or $_rnd > 96 Then ExitLoop WEnd $__pwd &= Chr($_rnd) Next Return $__pwd EndFunc Cyborg5000, wouldn't be easier if you gen them? If they are random, why bother getting them from that site? This too is a good option Kyan, thanks 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