[Bioperl-l] Problem with : EUtilities - Proxy

Anthony Ferrari ferraria at gmail.com
Wed Dec 20 11:59:49 EST 2006


First, I got a $http_proxy env. variable automatically defined by the
BioPerl installation (I don't define and export it in my .bash_profile).
So when I'm logging in,             $http_proxy=http://ip_adress:port/

Next step :  two solutions :
1) defining an $no_proxy env.variable in my .bash_profile.
It can be set to 'whatever'.

2) If I do not define '$no_proxy'; to make it work, I must call the
no_proxy() method on each Bio::DB::EUtilities object I create before I can
call the get_response() method on it.

(The bug is in the 'get_response' call)

And finally without 1) or 2) it doesn't work.

Tony

On 20/12/06, Chris Fields <cjfields at uiuc.edu> wrote:
>
>  Just to clarify: does it work it you don't have any proxy env. settings?
>
One thing I didn't point out previously is that Bio::DB::GenericWebDBI
> inherits LWP::UserAgent.  You should be able to use $eutil->no_proxy()
> instead of setting it in your env.
> chris
>
>  ------------------------------
> *From:* Anthony Ferrari [mailto:ferraria at gmail.com]
> *Sent:* Wednesday, December 20, 2006 9:41 AM
> *To:* Chris Fields
> *Cc:* bioperl-l List; Torsten Seemann
> *Subject:* Re: [Bioperl-l] Problem with : EUtilities - Proxy
>
> Defining a "no_proxy" environment variable in my '.bashrc' file solved my
> problem. I set it to "localhost".
>
> It indeed corresponds to the line...       [    ...if (@{
> $self->{'no_proxy'} }) ...    ]   (I guess!)
>
>
> I really don't know why we are compelled to do this, but let's say that's
> the way it is.
>
> It works now !
>
> Thanks a lot.
>
> Tony
>
>
>
>
> On 20/12/06, Chris Fields <cjfields at uiuc.edu> wrote:
> >
> >
> > On Dec 20, 2006, at 5:04 AM, Anthony Ferrari wrote:
> >
> > > You might check out this bug report, which relates directly to your
> > > issue:
> > >
> > > http://bugzilla.open-bio.org/show_bug.cgi?id=2109
> > >
> > > After I worked out the proxy issue Torsten got it working.  Let me
> > > know if this doesn't help or fix the problem.
> > >
> > > chris
> > >
> > >
> > > I carefully read this bug but that doesn't help because this has
> > > already been modified in the now given GenericWebDBI.pm
> > > So my problem does not come from a deep recursion loop.
> > >
> > > As Torsten did, I tried the command  " BIOPERLDEBUG=1 perl -I. -w t/
> > > EUtilities.t " to see what's really happening.
> > > And actually, all tests are skipped because of the same message error
> > > -> "Can't use an undefined value as an ARRAY reference at /usr/lib/
> > > perl5/site_perl/5.8.7/LWP/UserAgent.pm line 779."
> > >
> > > ***
> > > I tried the same command with the modified LWP::UserAgent package
> > > (which means I comment the line 779 and the corresponding '}') and
> > > all 453 tests passed.
> > > But not always. I made the tests several times and  it often
> > > failed. And always on a test called "eXXX->cookie->cookie() query
> > > key" (ending with query key). In those cases, I got back a html
> > > message indicating that the error was thrown by the internal sever
> > > of NCBI. So I guess that sometimes it is just NCBI server fault
> > > (internal problem), and BioPerl is not implied..
> > > But once more, I comment a line from a basic package so it is a bit
> > > hazardous.
> > > ***
> > >
> > > tony - a little bit lost.
> >
> > I'm cc'ing Torsten as he has a bit more experience with proxies.
> >
> > EUtilities is set up to check for an env. proxy and also take a set
> > proxy with $agent->proxy() (see GenericWebDBI POD).  It would be easy
> > to say this was a bug in LWP, but I think the problem is that
> > something is undefined ( i.e. an env. variable), or username/password.
> >
> > From the bug report, Torsten set his proxy variables using the
> > following:
> >
> > --------------------------------------
> > "Note: I am behind an _authenticating_ proxy.
> > My $http_proxy and $HTTP_PROXY are both set to
> > http://USER:PASS@proxy.monash.edu.au:80/"
> > --------------------------------------
> >
> > Note the lowercase for $http_proxy, which can make a difference.
> > After the recursion fix, I'm assuming he made no changes to the env.
> > settings, and according to the bug everything was fine (is that
> > correct Tortsen?).
> >
> > Also LWP::UserAgent has this:
> >
> > --------------------------------------
> > "Load proxy settings from *_proxy environment variables. You might
> > specify proxies like this (sh-syntax):
> >
> >        gopher_proxy=http://proxy.my.place/
> >        wais_proxy= http://proxy.my.place/
> >        no_proxy="localhost,my.domain"
> >        export gopher_proxy wais_proxy no_proxy
> >
> >      csh or tcsh users should use the setenv command to define these
> > environment variables.
> >
> > On systems with case insensitive environment variables there exists a
> > name clash between the CGI environment variables and the HTTP_PROXY
> > environment variable normally picked up by env_proxy(). Because of
> > this HTTP_PROXY is not honored for CGI scripts. The CGI_HTTP_PROXY
> > environment variable can be used instead."
> > --------------------------------------
> >
> > chris
> >
>
>


More information about the Bioperl-l mailing list