有点背景,我想创建一个URL Stream Handler,这样我就可以跟踪我在我的web浏览器中有多少连接在我的javafx中应用。实质上,我在WebView中运行一个AngularJs应用程序,我想知道它何时完成。我无法触摸网站代码,因此添加js通知程序不在桌面上。所以,不管我把什么放在一起,总是出现'协议不支持输入'的错误。我试图用只返回false的方法覆盖'getDoInput',但我仍然得到错误。有任何想法吗?为URLStreamHandlerFactory创建HttpURLConnection,获取错误:协议不支持输入
下面是一些接近我在做什么:
public class MyUrlStreamHandlerFactory implements URLStreamHandlerFactory {
public URLStreamHandler createURLStreamHandler(String protocol) {
if (protocol.equalsIgnoreCase("http") || protocol.equalsIgnoreCase("https")) {
return new URLStreamHandler() {
@Override
protected URLConnection openConnection(URL url) throws IOException {
return new HttpURLConnection(url) {
@Override
public void connect() throws IOException {
}
@Override
public void disconnect() {
}
@Override
public boolean usingProxy() {
return false;
}
@Override
public boolean getDoInput() {
return false;
}
};
}
};
}
return null;
}
}
我与安装它:
URL.setURLStreamHandlerFactory(new MyUrlStreamHandlerFactory());
我们唯一能做的就是声明*“这里接近我正在做的事情”*是猜测可能导致错误的原因。请将相关代码发布到您实际正在做的事情上。 –
这是代码的当前状态,因为它存在于项目中,除了int成员和++以外,以及 - 分别在连接和断开连接内。我忽略了这一点,因为增加和减少对这个问题无害。我还没有进一步发展,因为我无法确定它为什么会产生错误“协议不支持输入”。 –