gpt4 book ai didi

java - 通过java打开需要认证的网页

转载 作者:太空宇宙 更新时间:2023-11-04 06:23:04 24 4
gpt4 key购买 nike

我试图通过JAVA打开一个需要用户名和密码的网页: page I am trying to acces

这是我复制引用的代码 from this site :

    public static void main(String[] args) {

try {
String webPage = "https://reports.tradenetworks.com/ReportServer_DISTRIBUTORRS?%2fDealing&rs:Command=ListChildren";
String name = "Tradenetworks\\USER";
String password = "PASS";
String authString = name + ":" + password;
System.out.println("auth string: " + authString);
byte[] authEncBytes = Base64.encodeBase64(authString.getBytes());
String authStringEnc = new String(authEncBytes);
System.out.println("Base64 encoded auth string:" + authStringEnc);

URL url = new URL(webPage);
URLConnection urlConnection = url.openConnection();
urlConnection.setRequestProperty("Authorization", "Basic " + authStringEnc);
InputStream is = urlConnection.getInputStream();
InputStreamReader isr = new InputStreamReader(is);

int numCharsRead;
char[] charArray = new char[1024];
StringBuffer sb = new StringBuffer();
while ((numCharsRead = isr.read(charArray)) > 0) {
sb.append(charArray, 0, numCharsRead);
}
String result = sb.toString();

System.out.println("*** BEGIN ***");
System.out.println(result);
System.out.println("*** END ***");
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}

但我从 eclipse 收到此错误:

java.io.IOException: Authentication failure
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(Unknown Source)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(Unknown Source)
at ConnectToUrlUsingBasicAuthentication.main(ConnectToUrlUsingBasicAuthentication.java:27)

最佳答案

我认为问题出在带有斜杠的用户名字符串中(\\)。 URL 编码时这些字符看起来像这样:%5C%5C。因此,您应该尝试String name = "Tradenetworks%5C%5CUSER";

希望有帮助!

关于java - 通过java打开需要认证的网页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27192139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com