怎么用java获取登陆百度后的网页?

2024-11-15 16:44:19
推荐回答(2个)
回答(1):

URL url = new URL("http://www.baidu.com/");HttpURLConnection huc = (HttpURLConnection) url.openConnection();然后关键是设置setRequestProperty
这个可以借用浏览器,像IE、chrome、firefox都可以的
主要是理解和百度端的请求和回复....模拟浏览器的话,每次浏览器去获取一个url的时候,就会有一个Request头,这个头就会带有浏览器信息啊cookie啊等等比如说用chrome,可以用F12进入控制台,然后看下面的NetWork栏
比如进入百度的时候你点击第一个就会看到你浏览器和百度服务器间的请求文件了
你如果复制的话,就用setRequestProperty("Accept", "text/html,application/.....")这样一项一项去设置httpurlconnection的属性
cookie也是一样的
这样,设置完以后,在connect方法连接百度,返回的时候就是登陆以后的页面的,也就模拟了你的浏览器的登陆。如果你的浏览器是记住登陆状态的话,那复制下来的cookie也是有效的,你也能一样用java获取页面了其实用firefox、IE也是一样的。其实cookie也是本地保存的,你可以写个java从本地得到cookie然后进行访问
这个和mfc的webbrowser浏览差不多,那个会自动去模拟IE,使用IE的cookie等等。

回答(2):

不懂,不明觉厉