在哪种情况下,我应该更喜欢使用Wget而不是浏览器?
我听说出于某些匿名原因,Richard Stallman使用了它而不是浏览器。使用Wget获取文件时,服务器会看到什么?
在哪种情况下,我应该更喜欢使用Wget而不是浏览器?
我听说出于某些匿名原因,Richard Stallman使用了它而不是浏览器。使用Wget获取文件时,服务器会看到什么?
Answers:
通常,您永远不会“代替浏览器”使用它。浏览器呈现HTML,使链接可单击(而不是必须将URL手动复制到另一个wget命令中),等等。实际上,将wget用作人类没有任何好处。如果您担心隐私问题,可以使用一百万种方法来清理浏览器(或者您可以使用功能较弱的浏览器,例如Lynx,如果您确实想在不破坏人机界面外观的情况下获得准系统功能)。
Wget主要用于需要快速,廉价,可编写脚本/命令行的文件下载方式。因此,例如,您可以将wget放入脚本中,以下载一个经常更新新数据的网页,而这实际上是浏览器无法使用的。您可以使用wget的各种选项来爬网并自动保存网站,这是大多数浏览器无法做到的,至少不是没有扩展名的网站。
简而言之,浏览器是人类浏览互联网的应用程序,wget是机器和高级用户通过HTTP传输数据的工具。它们的操作非常相似(从网站中拉出文件),但用法完全不同。
关于在使用wget进行操作时哪些服务器会“看到”:所有HTTP客户端(浏览器,wget,curl,其他类似应用程序)都传输所谓的“用户代理”,它只是描述浏览器的字符串(或者如今,描述其具有的浏览器功能)。可以根据用户的浏览器显示不同的内容(即Google尝试不向已经使用Chrome的用户宣传Chrome)。一些傻瓜试图通过阻止wget的用户代理字符串来阻止高级用户的恶作剧,但是您可以伪造Chrome用户代理字符串来解决此问题。通常,它只是用于统计数据,因此您可以了解不同浏览器的流行程度,从而可以最全面地测试哪些浏览器。
如果使用wget的爬网功能,则服务器将按字母顺序排列看到许多快速请求。您正在抓捕他们的网站,这真是死定了。它看起来与用户浏览完全不同。当人类用户在浏览器中发出请求时,每个页面请求之后都是该页面上的所有图像,然后有一些延迟,然后又请求另一个随机页面(或者可能是目的明确的页面字符串) 。
1)由脚本而不是人类发起的下载
2)下载整个网站(或网站的片段),而不是单独的页面。(Wget可以自动跟踪链接。)
Wget具有一些命令行选项来控制服务器看到和思考的内容,包括下载页面的请求之间的任意延迟。但是,如果站点服务器具有某些反机器人策略,则在获得可接受的结果之前,您通常会浪费大量时间和流量。
使用浏览器时,浏览器中的所有内容都是活动的,包括不受欢迎的插件甚至是恶意软件,而wget是一个简单的命令,它可以下载内容,并且完全不执行其他任何操作。
浏览器的安全性未必一定会降低,但安全性可能会降低。
服务器照常“看到”下载请求。
浏览器可以将您的活动记录在历史记录中并缓存文件。
wget没有内存保留。
那就是说浏览器更方便,我不在乎NSA是否知道我4.7.2-040702-generic
上周下载了。我将浏览器用于在线银行和Paypal,可以说,这比我可以通过wget下载的大多数文件更为重要。
作为使用远程Ubuntu安装的开发人员,安装OS GUI通常没有什么意义。在此“命令行”环境中,wget是用于从Web下载文件的基本工具。
我什至不确定可以从终端运行哪种浏览器(如果有的话)。
wget
出于“某些安全原因”使用的?