On Thu, 2006-03-16 at 16:35 +0100, Thierry Sechao wrote: > Thanks for your reply > > Sorry, I did not subscribe to the mailing list before posting my > question, so I can not reply to your response. > > I don't know if it is possible, but I would like to get the OutputStream > so that I can send information back to the server through the same > connexion. > If I use the HttpClient.executeMethod(), how can I get the OutputStream? > > Maybe, there is a better solution? >
There is. Just use ProxyClient included in the Jakarta Commons HttpClient 3.0 distribution: http://jakarta.apache.org/commons/httpclient/apidocs/org/apache/commons/httpclient/ProxyClient.html Here's a sample app, which you can use as a reference: http://svn.apache.org/viewcvs.cgi/jakarta/commons/proper/httpclient/trunk/src/examples/ProxyTunnelDemo.java?view=markup Oleg > //--------------------------- > Hi Thierry, > > HttpConnections should not be used directly. Please use > HttpClient.executeMethod() instead. It will take care of handling > authentication, tunneling via proxies, etc. > > Mike > > On 3/15/06, Thierry Sechao <[EMAIL PROTECTED]> wrote: > > Hi everybody, > > > > Does any one can provide me an sample to show me how to use > > HttpConnection.tunnelCreated() > > > > I would like to tunnel my proxy and establish a connection so that I can > > read iformation and send response over the same connexion. > > I try this, but it is not work > > > > HostConfiguration hostConf = new HostConfiguration() ; > > try { > > hostConf.setHost(new URI("https://myserver",false)); > > hostConf.setProxy("myproxy", 8080) ; > > > > List authPrefs = new ArrayList(3); > > authPrefs.add(AuthPolicy.DIGEST); > > authPrefs.add(AuthPolicy.BASIC); > > authPrefs.add(AuthPolicy.NTLM); > > > > // This will exclude the NTLM authentication scheme > > > > httpClient.getParams().setParameter(AuthPolicy.AUTH_SCHEME_PRIORITY, > > authPrefs); > > httpClient.getParams().setVersion(HttpVersion.HTTP_1_1) ; > > httpClient.getParams().setAuthenticationPreemptive(true) ; > > > > Credentials userCredential = new > > UsernamePasswordCredentials("mylogin", "mypassword") ; > > httpClient.getState().setProxyCredentials(new > > AuthScope("proxyftm", 8080,AuthScope.ANY_REALM), userCredential) ; > > > > httpClient.setHostConfiguration(hostConf) ; > > HttpConnection conn = > > httpClient.getHttpConnectionManager().getConnection(hostConf) ; > > > > conn.open() ; > > conn.tunnelCreated() ; > > > > GetMethod method = new GetMethod() ; > > int code = method.execute(httpClient.getState(), conn) ; > > > > if(code == 200 ) { > > BufferedReader din = new BufferedReader(new > > InputStreamReader(conn.getLastResponseInputStream())); > > String text = din.readLine() ; > > int i = 0 ; > > while(text != null){ > > System.out.println(text); > > text = din.readLine() ; > > } > > > > System.out.println("fin."); > > } > > > > } catch(Throwable e) { > > e.printStackTrace() ; > > } > > > > I get this error: > > > > javax.net.ssl.SSLException: Unrecognized SSL message, plaintext > connection? > > at com.sun.net.ssl.internal.ssl.InputRecord.b(DashoA12275) > > at com.sun.net.ssl.internal.ssl.InputRecord.read(DashoA12275) > > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275) > > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.j(DashoA12275) > > at com.sun.net.ssl.internal.ssl.SSLSocketImpl.a(DashoA12275) > > at com.sun.net.ssl.internal.ssl.AppOutputStream.write(DashoA12275) > > at > > java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:66) > > at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:124) > > at > > > org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:827) > > at > > > org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:1975) > > at > > > org.apache.commons.httpclient.HttpMethodBase.execute(HttpMethodBase.java:993) > > at test.KeepCLient.connectWithHttpConnection(KeepCLient.java:125) > > at test.KeepCLient.main(KeepCLient.java:52) > > > > Thanks a lot. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
