2011-11-25 9 views
5

私はJavaで非常に新しいです。呼び出し元のREST APIには次のコードを使用していますが、シンプルな環境でうまく動作しますが、プロキシ環境で使用した場合NullPointerExceptionが投げられます。私はgoogleで結果を見つけました。そのためにプロキシを設定する必要があります。そのhttp://www.javaworld.com/javaworld/javatips/jw-javatip42.htmlの記事にしたがってプロキシを設定しましたが、これは動作していません+ base64Encode(パスワード)構文エラーを作成中です。Java URLConnectionクラスのプロキシ

URL url = new URL("http://examplerestapi/get/user"); 
URLConnection yc = url.openConnection(); 



in = new BufferedReader(new InputStreamReader(yc.getInputStream())); 
String inputLine; 

while ((inputLine = in.readLine()) != null) { 
     sb.append(inputLine); 
} 

String res = sb.toString(); 

プロキシのホスト、ポート、ユーザー名、パスワードを設定してください。

答えて

18

nullを返すため、NullPointerExceptionが発生している可能性があります。そこからバイトを読み取るためのリーダーを作成する前に、null以外の値が返されていることを確認する必要があります。

Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("my.proxy.example.com", 3128)); 
URLConnection yc = url.openConnection(proxy); 

これは、少なくとも、あなたがプロキシを問い合わせると、問題のための潜在的な原因を除外することを可能にするかもしれません(あります

は、プロキシの問題として、あなたは例えば、接続に Proxyオブジェクトを渡すことができますいくつか、それは立っている)。

This threadプロキシのユーザー名とパスワードの文字列が正しく機能するためのヒントがあります。あなたがリンクした記事は少し古いです。

+0

ありがとうございました。 –

+0

ユーザー名とパスワードはどうですか? –

+0

@Gian、上記のコードは、system.setPropertyのようなjvmスコープのプロキシ設定を設定しますか? –

関連する問題