0
对于一个特定的HTTPS URL,下面的Java代码不正确地检索的Content-Type:HttpURLConnection类的getContentType不工作的SSL连接
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection)url.openConnection();
String mimeType = connection.getContentType();
if (mimeType == null) throw new Exception("Could not detemine mimetype for remote URL.");
但是如果我卷曲的URL与-I,我得到以下:
HTTP/1.1 200 OK
Date: Wed, 23 Jul 2014 00:50:01 GMT
Server: Apache/2.4.7 (Ubuntu)
Cache-Control: max-age=0, no-cache
Connection: close
Content-Type: text/html
此外,如果我没有URL为HTTPS运行Java代码的getContentType确实成功地检索MIME类型。最后,Java代码对于使用HTTPS连接的其他服务器也有效。
所以在这个特定的URL有些奇怪的东西。服务器配置。除了应对缺少的内容类型外,您无法在客户端执行任何操作。 – EJP
正确,但服务器上的内容会导致这种情况?另外为什么curl可以看到头文件但java.net不? –
您是否使用wireshark(或类似工具)来查看电线上发生了什么?您是否在获取内容类型之前尝试获取响应代码? curl和java提供的可能是在请求的Accept头中提供了不同的值吗? –