gpt4 book ai didi

java - 为什么我应该使用用户代理访问 url?

转载 作者:行者123 更新时间:2023-11-29 03:07:05 24 4
gpt4 key购买 nike

我有一个与 this question 中类似的代码.在接受的答案中扩展代码也对我有用。

在此之前,我一直使用这种类型的代码,从未遇到过任何异常。

现在,我的问题是:

  1. 我为什么要使用 USER AGENT?
  2. 为什么有必要在我的程序中使用它?
  3. 是否有必要在每个程序中使用?

    • 如果是,我的程序以前怎么跑得这么好?
    • 如果不是,为什么我现在必须处理这个?
  4. 如何生成字符串 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"? (我想知道确切的格式)。

注意:

我修复它的程序,我每天都使用它,但以前从未有过任何问题。

最佳答案

许多网络管理员希望阻止机器人访问他们的网站,因为他们所做的只是定期抓取数据,但所有者无法从这些点击中赚取任何广告收入。所以没有明显的好处,但他们继续使用资源。出于这个原因,他们会阻止任何看起来不像人类使用的浏览器的东西。如您所见,让您的程序伪装成另一个程序是完全微不足道的。所以这种技术对任何知道自己在做什么的人都无效。但总的来说,不假装自己不是的人被认为是有礼貌的(互联网礼仪)。

从技术上讲,用户代理字符串可以是您想要的任何内容,但大多数应用程序都遵循一种通用模式,例如 $product/$version。你可以看到一些例子here .

有关更多信息,请查看 wikipedia article关于这件事。


如此快速的总结:

  1. 你应该使用它,因为服务器希望所有客户端都有一个
  2. 该库可能有一个默认的用户代理(例如 JavaLib/1.1),但由于上述原因,您必须自己设置。
  3. 并非所有程序都需要,但伪装成浏览器对机器人很有用。请记住,这被认为是不礼貌的。例如,wget 对我来说 99% 的时间无需修改即可工作,但有些网站会阻止其用户代理。
  4. 字符串不会生成,它只是从现有浏览器(在本例中为 IE 6.0)复制而来。您正在连接的服务器似乎接受它。

关于java - 为什么我应该使用用户代理访问 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31619746/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com