At 3:59 pm -0500 26/4/04, Jim wrote:
On Apr 26, 2004, at 2:40 PM, Dave Cragg wrote:

I'm not sure if this is exactly what you want, but if you check the result after an http url call (get, post, etc.) it will contain the word "error" followed by the status code and the status message returned by the server (unless the call succeeded in which case the result will return empty.) Typically, for a 404 status code, the result will contain "error 404 File not found". You can't rely on the consistency of the message (it can vary by server, script, etc. and is intended to be human readable), but the status code will always be word 2 of the result.


A server can be set up to deliver a custom page (rather than generic html reply) for 404. I did a quick test on a WebStar server, having set up a custom page for errors. It did, indeed, report a 404, but it said "OK", too...


HTTP/1.1 404 OK

So, you'll want to check out word 2 of libURLLastRHHeaders() to see if it's truly a 404.

You can still check word 2 of the result and get the same information. When you do a "get url" and there is a 404 response, the html page (custom or otherwise) will be returned in the "it" variable, and the response code and message will be returned in "the result" following the word "error".


So you can do something like this:

    get url "http://whatever.com/some.html";
    if the result is not empty then
      switch word 2 of the result
         case 404
          # whatever
         break
         case 403
           #whatever
         break
         default
           #whatever
      end switch

    else
      #do something with "it"
    end if

Note that if you are using "load" instead of "get", and an error occurs such as a 404 response, to get the status code you should use libUrlErrorData(<url>). libUrlLastRHHeaders() won't be reliable in this case as another load request may have been processed by the time the one you are concerned with returns.

See here for more info:

<http://www.runrev.com/resources/liburl/liburldoc.shtml#libUrlErrorData>

Cheers
Dave
_______________________________________________
use-revolution mailing list
[EMAIL PROTECTED]
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to