我手动做的事:
我用java做的事情:
String addr = "http://localhost:8080/rest/platform/domain/list?_dc=1325843792402"; //"http://localhost:8080/webadmin/index.html";
URL url = new URL(addr);
HttpURLConnection httpCon = (HttpURLConnection) url.openConnection();
httpCon.setDoOutput(true);
httpCon.setDoInput(true);
httpCon.setUseCaches(false);
httpCon.setAllowUserInteraction(false);
httpCon.setRequestMethod("GET");
OutputStreamWriter out = new OutputStreamWriter(httpCon.getOutputStream());
System.out.println(httpCon.getResponseCode());
System.out.println(httpCon.getResponseMessage());
out.close();得到回应:401 Unauthorized。
可以理解的原因:我应该创建一个授权的连接,通过输入一个登录和密码。但我怎么能做到呢?
发布于 2012-01-06 10:44:56
在使用网页中的表单字段进行身份验证时,会发生以下情况:
您可以很好地使用视图来跟踪这个过程(按CTRL+SHIFT+J,转到Network.com)。
如何将其转换为Java代码?
当然,还有在here服务器级别对用户进行身份验证的其他方法(HTTP基本身份验证,NTLM.),如这里的其他答案所解释的那样。以上方法仅适用于基于HTML表单的身份验证(如Facebook、Dropbox、.以及几乎所有的主要网站)
发布于 2012-01-06 10:42:18
这取决于身份验证方案。有几种可能性,包括
服务器将在401答案中告诉您正确的方案。在答案中查找WWW-Authenticate header。
要在Java中执行HTTP身份验证,请参阅本教程,它包含了许多有用的信息。
https://stackoverflow.com/questions/8756445
复制相似问题