为了账号安全,请及时绑定邮箱和手机立即绑定

HttpUrlConnection.getInputStream 上的 HTTP 响应代码 401

HttpUrlConnection.getInputStream 上的 HTTP 响应代码 401

墨色风雨 2022-01-06 19:54:43
请考虑以下代码片段:    URL url = new URL("https://wfs.geodienste.ch/av/deu?&LAYERS=LCSFC,SOLI,SOSFC,LOCPOS,HADR,LNNA,OSNR,RESF,OSBP,MBSF&FORMAT=image%2Fjpeg&DPI=100&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A2056&BBOX=2637158.3069220297,1236087.7425729688,2639935,1237632&WIDTH=2463&HEIGHT=1369");    HttpURLConnection uc = (HttpURLConnection) url.openConnection();    InputStream is = uc.getInputStream();对于给定的 URL,我收到 401 异常:java.io.IOException: Server returned HTTP response code: 401 for URL: https://wfs.geodienste.ch/av/deu?&LAYERS=LCSFC,SOLI,SOSFC,LOCPOS,HADR,LNNA,OSNR,RESF,OSBP,MBSF&FORMAT=image%2Fjpeg&DPI=100&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A2056&BBOX=2637158.3069220297,1236087.7425729688,2639935,1237632&WIDTH=2463&HEIGHT=1369at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1839)at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1440)at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:254)at HTTPTestMain.doit(HTTPTestMain.java:43)at HTTPTestMain.main(HTTPTestMain.java:28)现在,我希望 URL 在与浏览器一起使用时要求提供一些凭据。令人惊讶的是,不需要凭据,例如 Firefox 中的响应是 200。出于好奇,我添加了以下代码行:uc.setRequestProperty("Authorization", "Basic ");仍然是相同的 401 响应。你能告诉我用 Java 获得正确的响应需要什么吗?
查看完整描述

2 回答

?
RISEBY

TA贡献1856条经验 获得超5个赞

401 的意思是“未经授权”,所以你的凭据肯定有问题。你可以使用身份验证器


enter code here

    Authenticator.setDefault(new Authenticator(){


@Override

    protected PasswordAuthentication getPasswordAuthentication(){          

       return new PasswordAuthentication(login, password.toCharArray());

    }

});


查看完整回答
反对 回复 2022-01-06
?
PIPIONE

TA贡献1829条经验 获得超9个赞

我还可以在没有任何密码的情况下从浏览器访问该页面。

他们可能对来自 Web 浏览器的请求与编程请求的处理方式不同;即来自自动刮刀。例如,他们可能正在查看您请求中的“User-Agent”标头。

但是,如果您尝试对其进行逆向工程以逃避可能的限制,他们可能会决定使用其他机制阻止您。

我认为您需要联系该网站的支持:https : //geodienste.ch/support。问他们如何处理这个问题。了解您是否需要一个帐户,以及如何获得一个帐户。


查看完整回答
反对 回复 2022-01-06
  • 2 回答
  • 0 关注
  • 928 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信