首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java -使用授权检索网页

Java -使用授权检索网页
EN

Stack Overflow用户
提问于 2017-05-31 22:58:57
回答 1查看 170关注 0票数 0

我正在尝试使用java代码检索github网页,为此我使用了以下代码。

代码语言:javascript
复制
String startingUrl = "https://github.com/xxxxxx";
URL url = new URL(startingUrl );
HttpURLConnection uc = (HttpURLConnection) url.openConnection();
uc.connect();
String line = null;
StringBuffer tmp = new StringBuffer();
try{
    BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream(), "UTF-8"));
    while ((line = in.readLine()) != null) {
        tmp.append(line);
    }       
}catch(FileNotFoundException e){
}

然而,我在这里收到的页面与我登录github后在浏览器中观察到的页面不同。我尝试按如下方式发送授权头,但也不起作用。

代码语言:javascript
复制
uc.setRequestProperty("Authorization", "Basic encodexxx");

如何检索我登录时看到的相同页面?

EN

回答 1

Stack Overflow用户

发布于 2017-05-31 23:12:28

关于这个我不能告诉你更多,因为我不知道你得到了什么,但是对于网络爬虫来说,最常见的问题是网站所有者大多是不喜欢网络爬虫。因此,你应该表现得像普通用户一样--比如你的浏览器。当你访问某个网站时,打开你的浏览器检测元素(按f12),看看你的浏览器发送了什么请求,然后尝试模仿它:例如,在你的标题中添加Host, Referer等。你需要在这上面做实验。

此外,很高兴知道-一些网站所有者将使用先进的技术(因此他们会阻止你访问他们的网站),有些不会阻止你在他们的网站上爬行。有些人会让你随心所欲。最公平的选择是检查www.somedomain.com/__robots.txt,并且有允许抓取和不应该允许的端点的列表。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44288170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档