0

Java を使用して、ネイティブ ログイン プロンプトを使用するブラウザに対して HTTPS 呼び出しを行おうとしています。

http://blog.stevensanderson.com/2008/08/25/using-the-browsers-native-login-prompt/

現在、私は以下の HTTP を使用していますが、他の Web サイトでは問題なく動作します。なぜなら、入力するパラメーターを知っているからです...ただし、上記のタイプのログインでは失敗します (パラメーターをキャプチャする方法がわかりません...ログインポップアップ..またはこれが正しいアプローチである場合....何かアイデアはありますか??..ありがとう

HttpUtility.sendPostRequest(requestURL, params);
String[] response = HttpUtility.readMultipleLinesRespone();
4

3 に答える 3

0

サーバーは、ヘッダーと 401 のステータスで最初の要求に応答する必要がありますWWW-Authenticate。ヘッダーには、想定している認証の種類の詳細が含まれます。

Authorizationその後、正しい形式でリクエストにヘッダーを追加してから、もう一度試すことができます。

于 2013-03-24T02:54:02.527 に答える
0

@alex:OK...私はこれであなたの提案に従ってHTTPS接続を確立することができました:

URL url = new URL("https://www.example.com/Login");
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + authString);
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);

//then I read the input stream..

しかし、別のメソッドでこのコードを使用して別の接続を確立しようとしたとき (ログイン後に別のページに移動したとします)、URLConnection をパラメーターとして使用します。

//Below is in a method called account(URLConnection urlConnection)

URL url = new URL("https://www.example.com/account.aspx");
urlConnection = url.openConnection();
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);

//again I read the input stream..

...以下の例外がスローされます...ログインする前に同じ例外が発生します.どうすれば修正できますか?

Server returned HTTP response code: 401 for URL: https://www.example.com/account.aspx
于 2013-03-24T07:49:46.617 に答える