如何像Java浏览器那样从网站下载HTML(自动记忆数据)
好的,我想做的是从facebook上的Java代码下载HTML。 我知道如何做到这一点,当我想让它像我在浏览器中的如何像Java浏览器那样从网站下载HTML(自动记忆数据),java,html,facebook,Java,Html,Facebook,好的,我想做的是从facebook上的Java代码下载HTML。 我知道如何做到这一点,当我想让它像我在浏览器中的查看页面源码那样下载HTML时,问题就来了,当我登录时,而不是登录fb页面 我知道我可以使用API,但我只想检查HTML中的一件事,它似乎太大了,无法包含和使用整个API 所以我想知道是否有一种简单的方法可以做到这一点(也许我应该先用我的凭证执行一些链接,尽管我不认为这是一种方法) 您可以通过从Urlconnection读取来实现这一点 import java.net.*;
查看页面源码
那样下载HTML时,问题就来了,当我登录时,而不是登录fb页面
我知道我可以使用API,但我只想检查HTML中的一件事,它似乎太大了,无法包含和使用整个API
所以我想知道是否有一种简单的方法可以做到这一点(也许我应该先用我的凭证执行一些链接,尽管我不认为这是一种方法)
您可以通过从Urlconnection读取来实现这一点
import java.net.*;
import java.io.*;
public class URLConnectionReader {
public static void main(String[] args) throws Exception {
URL facebook = new URL("http://www.facebook.com/or any dir");
URLConnection yc = facebook.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(
yc.getInputStream()));
String inputLine;
while ((inputLine = in.readLine()) != null)
System.out.println(inputLine);
in.close();
}
}
您可以输入任意url并获取给定页面的源代码
查看源代码或保存源代码
java URLConnectionReader > facebook.html(or any format)
当我想下载HTML时就会出现问题,如果我 已登录(但我当然不是,它只是下载登录名) 第页)。我不知道如何以编程方式登录,所以我 可以下载HTML,因为它会在我登录后 首先要注意的是,如果您没有直接的许可,请注意,有问题的网站可能会在其服务条款中排除这一点 要回答这个问题,网站拒绝登录的原因有很多很多。要成功地做到这一点,您需要尽可能接近浏览器处理事务的方式。要做到这一点,您需要了解真正的浏览器正在做什么 https更加棘手,因为许多http嗅探器无法处理它,但httpwatch声称它可以。检查HTTP事务,然后尝试复制它们 您的url.openConnection()调用实际上将返回httpurlconction的一个实例,并将其转换为该实例&然后您将能够轻松地设置各种http头,例如用户代理
最后一点,你说可能需要一块饼干。你的代码不会处理cookies。要做到这一点,你需要使用cookie管理器,例如:是的,正如我在你引用的那句话后的下一句中所写的,我知道怎么做。这不是问题。好的,请你详细说明一下好吗?当我想让它像我在浏览器中查看页面源代码一样下载HTML时,问题就来了?你到底在问什么@user3212350(很乐意帮助)。当我想下载HTML时,问题就来了,就像我登录时一样(当然我不是,它只是下载登录页面)。我不知道如何以编程方式登录,这样我就可以下载HTML,就像我登录我的网站之后一样Aswer@user3212350facebook肯定会使用cookies。所以一定要参考链接。
java URLConnectionReader > facebook.html(or any format)