Sign in to follow this  
Followers 0
shaitand

How to load value from text file via http?

7 posts in this topic

I would like to use TRUE random numbers via a url at:

http://www.random.org/integers/?num=1&...ain&rnd=new

As you can see by going to the url, it returns just the number in plain text format.

Is there a simple way to extract this number and use it as an integer in autoitv3?

Share this post


Link to post
Share on other sites



So the Random function's not good enough huh?

1. You can use INetGet to download that page to a txt file, then read it in using _FileReadToArray...

2. Or use _IECreate and then _IEDocReadHTML to get the txt value.

Share this post


Link to post
Share on other sites

I read it this way:

InetGet("http://www.random.org/integers/?num=1&min=766&max=3269&col=1&base=10&format=plain&rnd=new", @ScriptDir & "\RandomNumber.txt", 1, 0)
$number = Int(FileReadLine(@ScriptDir & "\RandomNumber.txt", 1))

The value returned isn't an integer so I wonder is that the right way to convert it to one?

Share this post


Link to post
Share on other sites

Here is another way using XMLHttpRequest (aka Ajax):

$sURL = "http://www.random.org/integers/?num=1&min=766&max=3269&col=1&base=10&format=plain&rnd=new"
$oXHR = ObjCreate("MSXml2.XMLHTTP")
$oXHR.open("GET", $sURL, False)
$oXHR.send()
$iRandom = $oXHR.responseText

Dale


Free Internet Tools: DebugBar, AutoIt IE Builder, HTTP UDF, MODIV2, IE Developer Toolbar, IEDocMon, Fiddler, HTML Validator, WGet, curl

MSDN docs: InternetExplorer Object, Document Object, Overviews and Tutorials, DHTML Objects, DHTML Events, WinHttpRequest, XmlHttpRequest, Cross-Frame Scripting, Office object model

Automate input type=file (Related)

Alternative to _IECreateEmbedded? better: _IECreatePseudoEmbedded  Better Better?

IE.au3 issues with Vista - Workarounds

SciTe Debug mode - it's magic: #AutoIt3Wrapper_run_debug_mode=Y Doesn't work needs to be ripped out of the troubleshooting lexicon. It means that what you tried did not produce the results you expected. It begs the questions 1) what did you try?, 2) what did you expect? and 3) what happened instead?

Reproducer: a small (the smallest?) piece of stand-alone code that demonstrates your trouble

Share this post


Link to post
Share on other sites

You could try this:

#include <HTTP.au3>
$host = "www.random.org"
_HTTPConnect($host)
_HTTPGet($host, "/integers/?num=1&min=766&max=3269&col=1&base=10&format=plain&rnd=new")
$number = _HTTPRead()
_HTTPClose()
ConsoleWrite($number)

The HTTP Udf can be found here


[b][/b]

Share this post


Link to post
Share on other sites

I don't just get answers. I get multiple flavors!

I tried the InetGet method and the Ajax method. Your int typecasting seemed to work because i can use it as an integer value for the delay in the sleep function.

I went with the Ajax solution simply because the ajax method appears to be loading the text into memory from the start and the others have an obvious above the hood system call either for an include or to read a temp file. Who knows what that Ajax is really doing under the hood though.

Anyway thanks for the quick and helpful responses!

Share this post


Link to post
Share on other sites

#7 ·  Posted (edited)

$x = Random(1, 10000, 1) 
Send($x)

This will send a Random numer from 1 to 100000 without decimals, Is not enough?

Edited by jafuuu

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0