Tiens, toi aussi tu as des softs perso qui tournent au boulot? ;-)
Merci,
Ca marche avec une java.net.HttpUrlConnection mais pas avec le HttpClient. Enfin c'est
pas grave car en fait je n'ai plus besoin de requ�tes POST.
Par contre, pour l'encodeur BASE64 j'ai pris celui du HTTPClient que j'ai adapt� (j'ai
rendu la classe et les m�thodes publiques).
-----Original Message-----
From: "Rodolphe Godreul" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Date: Wed, 3 Jul 2002 16:30:57 +0200
Subject: RE: pb pour passer � travers un proxy authentifi�
salut patrice.
je ne connais pas HttpClient
mais pour un soft perso qui tourne sous tomcat
et qui fonctionne au boulot
ou j ai un proxy avec authentification,
j utilise le code suivant.
j imlagine que HttpClient n est pas tres different.
par rapport a la version precedente ou je n avais pas non plus d authentification,
j ai rajoute la partie :
[
String auth = "Basic " + new BASE64Encoder().encode((proxyuser_ + ":" +
proxypassword_).getBytes());
connection.setRequestProperty("Proxy-Authorization", auth);
]
public void init(ServletConfig config) throws ServletException {
super.init(config);
try {
context_ = new InitialContext();
// Set Proxy
proxyhost_ = (String) context_.lookup("java:comp/env/proxy-host");
proxyport_ = (String) context_.lookup("java:comp/env/proxy-port");
proxyuser_ = (String) context_.lookup("java:comp/env/proxy-user");
proxypassword_ = (String) context_.lookup("java:comp/env/proxy-password");
if (proxyhost_ != null && proxyport_ != null && proxyhost_.length() > 0 &&
proxyport_.length() > 0) {
Properties props = System.getProperties();
props.put("proxySet", "true");
props.put("proxyHost", proxyhost_);
props.put("proxyPort", proxyport_);
}
} catch (Exception e) {
throw new UnavailableException(e.toString(), 10);
}
}
private void makeMeteogramImage(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
try {
......
URLConnection connection = new URL(noaaurl.toString()).openConnection();
if (connection == null) throw new RuntimeException("Connection " +
noaaurl.toString() + " null !");
if (proxyuser_ != null && proxypassword_ != null) {
String auth = "Basic " + new BASE64Encoder().encode((proxyuser_ + ":"
+ proxypassword_).getBytes());
connection.setRequestProperty("Proxy-Authorization", auth);
}
connection.setUseCaches(false);
resp.setContentType(connection.getContentType());
resp.setContentLength(connection.getContentLength());
BufferedInputStream is = new
BufferedInputStream(connection.getInputStream());
.......
} catch (Exception e) {
e.printStackTrace();
log("BUILD_METEOGRAMIMAGE", e);
resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR ,
e.toString());
}
}
>>-----Original Message-----
>>From: Patrice Godard [mailto:[EMAIL PROTECTED]]
>>Sent: Wednesday, July 03, 2002 4:10 PM
>>To: [EMAIL PROTECTED]
>>Subject: pb pour passer � travers un proxy authentifi�
>>
>>
>>Bonjour,
>>Je n'arrive pas, avec le org.apache.commons.httpclient.HttpClient
>>� passer � travers un proxy squid n�cessitant une authentification.
>>
>>Voici mes param�tres de JVM:
>>-Dhttp.proxyHost=adresseIP_proxy
>>-Dhttp.proxyPort=80
>>-Dhttp.proxyUserName=UserName
>>-Dhttp.proxyPassword=Password
>>
>>J'ai une FileNotFoundException.
>>
>>Avant mon proxy ne n�cessitait pas d'authentification et �a
>>marchait parfaitement.
>>
>>Quelqu'un a une id�e?
>>
>>Patrice
>>
>>-- Use Opera, the most user-friendly web browser on Earth --
-- Use Opera, the most user-friendly web browser on Earth --