On 15 May 2006, at 18:38, [EMAIL PROTECTED] wrote:
If I wanted to write a Revolution script that goes through a list
of URLs and
checks each URL's status, can anyone give me pointers on the best
approach?
I was originally attempting to do a "load URL" approach, and then
check the
error that comes back (either OK, or not found, re-direct failure,
etc).
Unfortunately I'm finding that load URL tends to take awhile to get
through URLs
that do not connect. I thought "load url" was a non-blocking
command, but for
some reason it does freeze the execution of the handler until it
gets through
the bad URLs.
"load url" will block until the socket connection has been made.
It should be possible to get round this by making your load requests
in a repeat loop that uses "send <message> .. in <time>". However,
for the type of information you need, you probably don't want to
download the entire url. There is an http HEAD method that just
returns the headers that would be returned if you had issued a GET.
Below is a very crude routine for using the HEAD method on a single
url. (in this case "http://www.lacscentre.co.uk/liburl/index.html")
It returns the response headers like this in field 1.
HTTP/1.1 200 OK
Date: Tue, 16 May 2006 09:15:02 GMT
Server: Apache/2.0.40 (Red Hat Linux)
Last-Modified: Wed, 19 Apr 2006 09:27:18 GMT
ETag: "3f50ae1-c7d-430d0980"
Accept-Ranges: bytes
Content-Length: 3197
Connection: close
Content-Type: text/html; charset=ISO-8859-1
Perhaps you could fit it into a repeat loop.
Cheers
Dave
----------------------------------------------------------
local pHeaders
on mouseUp
put "www.lacscentre.co.uk" into tHost
put tHost & ":80" into tSocket
put "/liburl/index.html" into tPath
put "HEAD" && tPath && "HTTP/1.1" into pHeaders
put crlf & "host:" && tHost after pHeaders
put crlf & crlf after pHeaders
open socket to tSocket with message "gotSocket"
put the result into tRes
if tRes <> empty then
answer tRes
end if
end mouseUp
on gotSocket pSocket
write pHeaders to socket pSocket with message "written"
put the result into tRes
if tRes <> empty then
answer tRes ##or whatever
end if
end gotSocket
on written pSocket
read from socket pSocket until crlf & crlf
put the result into tRes
put it into tData
if tRes <> empty then
answer tRes ## or whatever
end if
put tData into field 1
close socket pSocket
end written
_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution