Thanks John. The following code worked:
System.setProperty("http.proxyHost", "myproxyhost.com");
System.setProperty("http.proxyPort", "8080");
Authenticator.setDefault(new Authenticator()
{
public PasswordAuthentication getPasswordAuthentication()
{
return new PasswordAuthentication("myusername",
"mypassword".toCharArray());
}
});
NetcdfFile file
new
DODSNetcdfFile("http://www.cdc.noaa.gov/cgi-bin/nph-nc/Datasets/ncep.reanaly
sis/pressure/uwnd.1992.nc", null);
Note that I had to explicitly use the DODSNetcdfFile() constructor. When I
tried using NetcdfFile.open(<url>) the code seems to use the httpclient
libraries and hence does not connect. I thought that if I passed a DODS URL
to the NetcdfFile.open() method, it would automatically recognise a DODS url
and construct a DODSNetcdfFile in the background?
Regards, Jon
> -----Original Message-----
> From: owner-netcdf-java@xxxxxxxxxxxxxxxx
> [mailto:owner-netcdf-java@xxxxxxxxxxxxxxxx] On Behalf Of John Caron
> Sent: 10 October 2005 17:43
> To: Jon Blower
> Cc: netcdf-java@xxxxxxxxxxxxxxxx; support-netcdf-java@xxxxxxxxxxxxxxxx
> Subject: Re: Reading remote files through authenticating proxy
>
>
>
> Jon Blower wrote:
> > Hi all,
> >
> > Does anyone know how (using the Java NetCDF libs) I can
> read a remote
> > NetCDF or OpenDAP/DODS file through an authenticating proxy server
> > using Basic authentication?
> >
> > Thanks, Jon
> >
> > --------------------------------------------------------------
> > Dr Jon Blower Tel: +44 118 378 5213 (direct line)
> > Technical Director Tel: +44 118 378 8741 (ESSC)
> > Reading e-Science Centre Fax: +44 118 378 6413
> > ESSC Email: jdb@xxxxxxxxxxxxxxxxxxxx
> > University of Reading
> > 3 Earley Gate
> > Reading RG6 6AL, UK
> > --------------------------------------------------------------
>
>
> Do this through the java.net library, eg:
>
> java.net.Authenticator.setDefault( new
> SimpleAuthenticator(name, pass));
>
> public class SimpleAuthenticator
> extends Authenticator
> {
> private String username,
> password;
>
> public SimpleAuthenticator(String username,String password)
> {
> this.username = username;
> this.password = password;
> }
>
> protected PasswordAuthentication getPasswordAuthentication()
> {
> return new PasswordAuthentication(
> username,password.toCharArray());
> }
> }
>
>
> You can google Authenticator.setDefault, eg:
>
> http://www.javaworld.com/javaworld/javatips/jw-javatip46.html
>
> I should caution that at some point, netcdf-java may switch
> to using apache commons httpclient library when accessing
> OpenDAP. That uses a slightly different mechanism for
> authentication, but it wont be hard to switch, if and when
> that happens.
>
>