我可以打开视图源模式(Ctrl + U)。我想从中读取文本。我尝试使用URL.openStream(),但服务器为空
java.net.MalformedURLException:未知协议:
我该怎么办,谢谢。 这是我的代码
public void viewSource(){
try {
URL url = new URL("view-source:https://www.google.com/");
Scanner sc = new Scanner (url.openStream());
while (sc.hasNextLine())
{
System.out.println(sc.nextLine());
}
sc.close();
} catch (MalformedURLException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
} catch (IOException ex) {
Logger.getLogger(Test.class.getName()).log(Level.SEVERE, null, ex);
}
}
答案 0 :(得分:0)
这里的主要问题是URL:my_fig = plt.gcf()
my_fig.set_size_inches(width_in_inches, height_in_inches)
view-source:https://www.google.com/
位是一个网络浏览器,实际上并不是URL的一部分。网址始终以协议开头(例如view-source:
,https://
,http://
,ftp://
等)尝试:
ws://
答案 1 :(得分:0)
如何在视图源模式下使用 openStream?
@Michael Powers said 的一切都是正确的。但是,他在这里没有提到根本问题。也就是说:您似乎试图通过使用 view-source:
没有意义!(至少,从 URL.openStream()
API 的角度来看。) >
为什么?
URL 上的 view-source:
前缀是指向网络浏览器的方向。它的意思是这样的。
用户:“嘿浏览器先生”
浏览器:“我能为你做什么?
用户:“这件事由 view-source:
之后的 URL 表示...”
浏览器:“是的,我正在获取它。现在怎么办?”
用户:“不要像通常那样渲染,只需在纯文本窗口中显示给我”
浏览器:“好的……就是这样。”
这仅作为浏览器的方向,或更广泛地作为呈现和显示资源的内容的方向才有意义。
如果我们尝试将上述含义应用于您的代码的 URL,则存在概念上的问题。指定 URL.openStream
方法为您提供一个流,其中包含 HTTP 响应正文的原始内容(作为字节!)。不涉及渲染。所以没有“你通常会做的”渲染不做。
因此您的代码失败,因为 JVM 找不到知道如何处理带有 view-source:
协议的 URL 的协议处理程序。
(协议处理程序可以做什么......除了忽略上下文无意义的 view-source:
方向,它告诉它做一些它已经在做的事情?)