in reply to HTTP Proxy Detection

The problem is that this proxy server isn't 100% reliable and this script needs to get on with life if the proxy isn't responding.

It might help if you could characterize what "isn't 100% reliable" means in your situation. Does the proxy box go down? Does it refuse connections? Does the proxy server accept connections and then hang?

You'll probably use the same strategy (setting 'timeout' when creating an LWP::UserAgent) to deal with most of these.

I've looked through the documentation for the various LWP modules but I don't see anything about how it handles broken proxies.

Read the code. At a low-level, it doesn't matter whether there's a proxy there or not. A request is make, and it either succeeds (possibly returning an HTTP-level error) or fails by timing out. The request may be structured for a proxy, which will forward the request, but the forwarding is beyond the client's (LWP's) visibility.

Replies are listed 'Best First'.
Re: Re: HTTP Proxy Detection
by spaz (Pilgrim) on Sep 19, 2002 at 20:29 UTC
    It might help if you could characterize what "isn't 100% reliable" means in your situation.

    Usually the proxy software (squid) dies and refuses connections. Occasionally the machine itself locks up, but I'm primarily worried about squid dying.

    Read the code.

    I thought that's what documentation is for? :)

    What I'm most confused about is what 'timeout' means when using a proxy. How can I set the timeout such that if the proxy connects to a slow site, I don't time out. But if the proxy doesn't respond, I do time out? Or are these issues not visible to the agent?

    -- Dave