stonecolddevin has asked for the wisdom of the Perl Monks concerning the following question:

Hey all,

Ok. LWP is all completely server side in that it retrieves the respective page or information on the server side, THEN returns it to the browser, correct?

Ok, if said is correct, would one be able to bypass a school filter for websites? I know you are all going to think this is a malcious idea, but google images is blocked and a high number of students default to that to search for images for school projects and whatnot.

if i could please get some feedback on this matter, that would be great



dhoss
meh.

Replies are listed 'Best First'.
Re: LWP::* question
by ambs (Pilgrim) on Mar 28, 2005 at 16:54 UTC
    LWP is client-side. It works as any other browser. If the filter is by proxy, you can't do anything using LWP. If the filter is hardcoded in IE (which I don't think so) go on and try LWP.

    Alberto Simões

Re: LWP::* question
by davido (Cardinal) on Mar 28, 2005 at 16:54 UTC

    LWP and its derivitives, when acting as simple browsers, are client-side, like browsers.


    Dave

      Hmmm, without sounding once again as if i'm trying to cause trouble, what might one do to bypass that?
      meh.
        Programatically you are pretty much stuck...it's probably a proxy filtering, which means:
        Internet <=> Proxy <=> You
        That when the site gets to the proxy, the proxy says no... and you (more than likely) have no other way to connect.

        There are probably roundabout ways around this, but your best bet (and safest) is to explain your case and try to get things changed.
        --------------
        "But what of all those sweet words you spoke in private?"
        "Oh that's just what we call pillow talk, baby, that's all."

        Beware of trouble - it may be bigger than you want. That said, it is possible to sidestep proxies by viewing the output of an unproxied browser. F'rinstance, I log into my home machine from work via SSH. I forward X traffic via SSH, so I can, from a terminal session on my home machine, open a web browser. I see what my home computer accesses, because that information is sent to me down my SSH tunnel. This is not speedy or particularly trivial.

        The advice I'd give is that conversation is easier and safer than circumvention.

Re: LWP::* question
by nobull (Friar) on Mar 28, 2005 at 17:46 UTC
    Others have pointed out the LWP is client-side. I think you are talking about using LWP to create some sort of HTTP proxy. In that case there are two client-server relationships. The proxy acts as a client to the web server. The proxy acts as server to the web browser.

    LWP is used to implement the part of proxy that is acting as the client to the web server.

    Something else is used to implement the part of the proxy that acts as the server to the browser.

    There are modules on CPAN that do all that.

    You can use any proxy (a Perl script or just a standard off-the-shelf HTTP proxy like Squid or Apache+mod_proxy) to "bypass" any other proxy so long as

    • the replacement proxy is located outside your firewall
    • it is reachable1
    • you can configure the browser proxy settings

    This, of course, has nothing to do with Perl.

    1. Typically via an SSH tunnel so that your HTTP traffic can't be snooped.