質問

私は使っている HttpClient 4.0-beta2, 、休憩コールを行う。私のラップトップでは正常に動作しますが、UNIでは、プロキシを使用するようにアプリケーションを構成する必要があります。そうしないと、インターネットに接続できません

これが私の元のコードです:

HttpClient httpclient = new DefaultHttpClient();
HttpPut put = new HttpPut("http://" + PutBlob.ACCOUNT + 
                                      ".blob.core.windows.net/container/abc");
put.addHeader(PutBlob.ContentType, PutBlob.CONTENT_TYPE.TEXT_PLAIN.getValue());
put.setEntity(new StringEntity("Hello world", "UTF-8"));
Sign(put, PutBlob.ACCOUNT, PutBlob.KEY);

log.debug(EntityUtils.toString(httpclient.execute(put).getEntity()));

以下は私がプロキシを使用する方法ですが、それは私にとってはうまくいきませんでした。

プロキシを設定する正しい方法は何ですか HttpClient 4.0 ?

HttpHost hcProxyHost = new HttpHost("proxyserver", 3128, "http");
DefaultHttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter(ConnRoutePNames.DEFAULT_PROXY, hcProxyHost);

HttpPut put = new HttpPut("/container/abc");
put.addHeader(PutBlob.ContentType, PutBlob.CONTENT_TYPE.TEXT_PLAIN.getValue());
put.setEntity(new StringEntity("Hello world", "UTF-8"));
Sign(put, PutBlob.ACCOUNT, PutBlob.KEY);

HttpHost target = new HttpHost( PutBlob.ACCOUNT + ".blob.core.windows.net");
log.debug(EntityUtils.toString(httpclient.execute(target, put).getEntity()));
役に立ちましたか?

解決

使用してみてください

ConnRouteParams.setDefaultProxy(method.getParams(), new HttpHost("yourproxyname",yourport,"http"));
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top