0

我正在尝试使用 Java 对使用本机登录提示的浏览器进行 HTTPS 调用。

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

目前我正在使用以下 HTTP 并且它适用于其他网站,因为我知道要输入的参数......但是对于上述类型的登录它失败(我不知道如何捕获参数......它是一个登录弹出..或者如果这甚至是正确的方法)....有什么想法吗??..谢谢

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

3 回答 3

0

@alex:好的......我设法按照您的建议建立了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 回答
0

您可能已经摆脱了这个问题,但我最近遇到了一个问题,涉及实现类似于浏览器的本机登录提示的功能。我已经解决了它并写了一篇关于它的帖子。Steven Sanderson 的帖子也对我有帮助,帮助我理解某些概念。

http://captaindanko.blogspot.com.au/2015/04/how-does-browsers-native-login-prompt.html

于 2015-04-20T23:22:22.610 回答
0

服务器应使用标头和状态 401 响应您的第一个请求WWW-Authenticate。标头将包含它所期望的身份验证类型的详细信息。

Authorization然后,您可以在以正确格式向您的请求添加标头后重试。

于 2013-03-24T02:54:02.527 回答