Javafx JavaHttpHandler-sendResponseHeaders:使用HEAD请求的内容长度进行调用
我目前正在使用一个简单的HttpHandler来显示mp4视频的内容(在https url中)。在我的浏览器中,一切都正常显示,但当我将此http url传递给javafx mediaplayer时,会出现错误:Javafx JavaHttpHandler-sendResponseHeaders:使用HEAD请求的内容长度进行调用,javafx,header,streaming,response,httphandler,Javafx,Header,Streaming,Response,Httphandler,我目前正在使用一个简单的HttpHandler来显示mp4视频的内容(在https url中)。在我的浏览器中,一切都正常显示,但当我将此http url传递给javafx mediaplayer时,会出现错误: Nov 09, 2015 10:02:13 PM sun.net.httpserver.ExchangeImpl sendResponseHeaders WARNING: sendResponseHeaders: being invoked with a content length
Nov 09, 2015 10:02:13 PM sun.net.httpserver.ExchangeImpl sendResponseHeaders
WARNING: sendResponseHeaders: being invoked with a content length for a HEAD request
为什么会出现这个错误?
HandlerCode:
@Override
public void handle(HttpExchange exchange)
throws IOException
{
Headers h = exchange.getResponseHeaders();
h.add("viewport", "width=device-width");
String res = "<html><body><video controls autoplay name=\"media\"><br><source src=\"https://longurl.mp4\" type=\"video/mp4\"></video></body></html>";
exchange.sendResponseHeaders(200, res.length());
System.out.println("ResponseHeaders sent with " + res.length());
exchange.getResponseBody().write(res.getBytes());
exchange.getResponseBody().flush();
exchange.getResponseBody().close();
System.out.println("Sent data");
}
控制台输出:
ttttt T_T
Nov 09, 2015 10:02:13 PM sun.net.httpserver.ExchangeImpl sendResponseHeaders
WARNUNG: sendResponseHeaders: being invoked with a content length for a HEAD request
ResponseHeaders sent with 961
ResponseHeaders sent with 961
Sent data
ResponseHeaders sent with 961
Sent data
在早期版本中,Java无法很好地处理https URL。这在JDK1.8.0_76之后得到了修复。但目前还没有公开发布,只有早期的access版本。在早期版本中,Java无法很好地处理https URL。这在JDK1.8.0_76之后得到了修复。但目前还没有公开发布,只有早期的访问构建
ttttt T_T
Nov 09, 2015 10:02:13 PM sun.net.httpserver.ExchangeImpl sendResponseHeaders
WARNUNG: sendResponseHeaders: being invoked with a content length for a HEAD request
ResponseHeaders sent with 961
ResponseHeaders sent with 961
Sent data
ResponseHeaders sent with 961
Sent data