当前位置: 首页 > 面试题库 >

Java-使用Socket提取网站HTML

唐高朗
2023-03-14
问题内容

下面的代码没有从网址中获取任何HTML

URL url = new URL("https://google.com");
        Socket socket = new Socket(url.getHost(),443);
        socket.setSoTimeout(15000);
        BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream(),"UTF-8"));
        String c = "";
        while((c = reader.readLine())!=null)
        {
            System.out.print(c);
        }
        reader.close();
        socket.close();

我知道URLConnection方法openConnection()和URL类方法openStream(),但我不想使用这些方法。我只想知道为什么我不使用Socket类获得任何输入,但是我却使用其他方法获得了输入。


问题答案:

您没有发送任何请求。HTTP是一个请求-响应协议:您需要发送一个请求,告知Web服务器要检索的URL,然后它将向您发送该URL的数据。



 类似资料:
  • 问题内容: 我正在尝试在JAVA中以给定的经度和纬度提取酒店名称的数据。我收到以下错误:[致命错误]:1:1:序言中不允许内容。这是我尝试从中提取信息的代码和URL。关于这个问题有什么建议吗? 问题答案: 出了什么问题 如果运行以下代码,您将看到返回的数据不是XML,而是JSON。 以XML形式获取数据 您可以使用来将数据请求为XML:

  • 问题内容: 我需要抓取一个网站,其内容由Angular“插入”。它需要用java完成。 我已经尝试过Selenium Webdriver(因为我之前曾使用Selenium来抓取较少动态的网页)。但是我不知道如何处理Angular部分。除了页面顶部的script标签之外,网站中只有一个地方具有Angular属性: 我在这里找到了这篇文章,但是说实话…我不知道。看来作者正在选择(这样称呼他们)’ng-

  • 问题内容: 我想使用Java来获取网站的源(安全),然后解析该网站以获取其中的链接。我已经找到了如何连接到该URL的方法,但是然后我如何才能轻松地仅获取源代码,更喜欢作为DOM Document oso来获取我想要的信息。 还是有更好的方法连接到https站点,获取源代码(我很容易做到以获取数据表…非常简单),然后这些链接就是我要下载的文件。 我希望它是FTP,但是这些是存储在我的Tivo中的文件

  • 问题内容: 这里, 这里有张桌子。我的目标是提取表并将其保存到csv文件。我写了一个代码: 我从这里迷路了。有人可以帮忙吗?谢谢! 问题答案: 因此,本质上您想解析出文件以获取文件中的元素。您可以将BeautifulSoup或lxml用于此任务。 您已经有使用的解决方案。我将使用发布解决方案:

  • 问题内容: 我想解析一个简单的网站,并从该网站中抓取信息。 我曾经用DocumentBuilderFactory解析XML文件,但我尝试对html文件做同样的事情,但是它总是陷入无限循环。 有什么问题吗?还是有任何更简单的方法可以从网站中获取给定html标签的数据? 问题答案: 有一种更简单的方法可以做到这一点。我建议使用JSoup。使用JSoup,您可以执行以下操作 或者,如果您想要身体: 或者

  • 问题内容: 我想用Java登录到一个网站。我使用的是org.apache.http,我已经写了 尽管我仍然无法登录,但它正确发送了我测试过的帖子表格。我要登录的网站是http://www.xtratime.org/forum/ 关于此的任何想法或是否有其他方法? 问题答案: 在提交页面之前,请对密码进行编码()。您应该在代码中执行相同的操作。 该属性的值与您的代码()不匹配。您应该将发布请求发送到