문제

나는 사용 중입니다 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