httpclientを使ってproxy経由でhttps接続する方法について
受付中
回答 0
投稿
- 評価
- クリップ 0
- VIEW 4,804
javaでhttpclientを使い、proxy経由でアクセスしたいのですが下記エラーが解消できません。
どうすれば解消できるでしょうか。
【実行環境】
java8
org.apache.httpcomponents:httpclient v4.3
プロキシサーバーはherokuのfixieアドオンを使用
サンプルとして下記ページを参照
apacheサンプル
※fixieのサンプルも試したがうまくいきませんでした。
【実行コード】
PROXY_HOST = "velodrome.usefixie.com";//fixieのホスト名
public void test() throws ClientProtocolException, IOException {
CredentialsProvider credsProvider = new BasicCredentialsProvider();
credsProvider.setCredentials(
new AuthScope(PROXY_HOST, 80),
new UsernamePasswordCredentials(PROXY_USER, PROXY_PASSWORD));
CloseableHttpClient httpclient = HttpClients.custom()
.setDefaultCredentialsProvider(credsProvider).build();
try {
HttpHost target = new HttpHost("www.verisign.com", 443, "https");
HttpHost proxy = new HttpHost(PROXY_HOST, 80);
RequestConfig config = RequestConfig.custom()
.setProxy(proxy)
.build();
HttpGet httpget = new HttpGet("/");
httpget.setConfig(config);
System.out.println("Executing request " + httpget.getRequestLine() + " to " + target + " via " + proxy);
CloseableHttpResponse response = httpclient.execute(target, httpget);
try {
System.out.println("----------------------------------------");
System.out.println(response.getStatusLine());
EntityUtils.consume(response.getEntity());
} finally {
response.close();
}
} finally {
httpclient.close();
}
【発生エラー】
2016-05-19 22:06:20.593 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
2016-05-19 22:06:20.594 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : Retrying request
2016-05-19 22:06:20.963 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
2016-05-19 22:06:20.963 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : Retrying request
2016-05-19 22:06:21.321 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : I/O exception (org.apache.http.NoHttpResponseException) caught when processing request: The target server failed to respond
2016-05-19 22:06:21.322 INFO 2350 --- [nio-8080-exec-1] o.apache.http.impl.execchain.RetryExec : Retrying request
2016-05-19 22:06:21.661 ERROR 2350 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception
org.apache.http.NoHttpResponseException: The target server failed to respond
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:143) ~[httpclient-4.3.jar:4.3]
at org.apache.http.impl.conn.DefaultHttpResponseParser.parseHead(DefaultHttpResponseParser.java:57) ~[httpclient-4.3.jar:4.3]
at org.apache.http.impl.io.AbstractMessageParser.parse(AbstractMessageParser.java:261) ~[httpcore-4.4.4.jar:4.4.4]
以後省略
以上、よろしくお願いします。
-
気になる質問をクリップする
クリップした質問は、後からいつでもマイページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
クリップを取り消します
-
良い質問の評価を上げる
以下のような質問は評価を上げましょう
- 質問内容が明確
- 自分も答えを知りたい
- 質問者以外のユーザにも役立つ
評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。
質問の評価を上げたことを取り消します
-
評価を下げられる数の上限に達しました
評価を下げることができません
- 1日5回まで評価を下げられます
- 1日に1ユーザに対して2回まで評価を下げられます
質問の評価を下げる
teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。
- プログラミングに関係のない質問
- やってほしいことだけを記載した丸投げの質問
- 問題・課題が含まれていない質問
- 意図的に内容が抹消された質問
- 過去に投稿した質問と同じ内容の質問
- 広告と受け取られるような投稿
評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。
質問の評価を下げたことを取り消します
この機能は開放されていません
評価を下げる条件を満たしてません
質問の評価を下げる機能の利用条件
この機能を利用するためには、以下の事項を行う必要があります。
- 質問回答など一定の行動
-
メールアドレスの認証
メールアドレスの認証
-
質問評価に関するヘルプページの閲覧
質問評価に関するヘルプページの閲覧
まだ回答がついていません
15分調べてもわからないことは、teratailで質問しよう!
- ただいまの回答率 88.36%
- 質問をまとめることで、思考を整理して素早く解決
- テンプレート機能で、簡単に質問をまとめられる