Cyborg5000 Posted April 2, 2015 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
water Posted April 2, 2015 Posted April 2, 2015 What have you tried so far? My UDFs and Tutorials: Spoiler UDFs: Active Directory (NEW 2024-07-28 - Version 1.6.3.0) - Download - General Help & Support - Example Scripts - Wiki ExcelChart (2017-07-21 - Version 0.4.0.1) - Download - General Help & Support - Example Scripts OutlookEX (2021-11-16 - Version 1.7.0.0) - Download - General Help & Support - Example Scripts - Wiki OutlookEX_GUI (2021-04-13 - Version 1.4.0.0) - Download Outlook Tools (2019-07-22 - Version 0.6.0.0) - Download - General Help & Support - Wiki PowerPoint (2021-08-31 - Version 1.5.0.0) - Download - General Help & Support - Example Scripts - Wiki Task Scheduler (2022-07-28 - Version 1.6.0.1) - Download - General Help & Support - Wiki Standard UDFs: Excel - Example Scripts - Wiki Word - Wiki Tutorials: ADO - Wiki WebDriver - Wiki
Cyborg5000 Posted April 2, 2015 Author Posted April 2, 2015 _IEFormGetObjByName _IEPropertyGet _IEBodyReadText _IEFormElementGetValue
Moderators Melba23 Posted April 2, 2015 Moderators 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
Solution Exit Posted April 2, 2015 Solution 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()
Kyan Posted April 2, 2015 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
jguinch Posted April 2, 2015 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
Cyborg5000 Posted April 4, 2015 Author 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
JohnOne Posted April 4, 2015 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.
Cyborg5000 Posted April 4, 2015 Author 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
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