当前位置: 首页 > 面试题库 >

设置Java URLConnection的用户代理

封景曜
2023-03-14
问题内容

我正在尝试使用带有URLConnection的Java解析网页。我尝试像这样设置用户代理:

java.net.URLConnection c = url.openConnection();
c.setRequestProperty("User-Agent", "Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.4; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2");

但是最终的用户代理是我指定的,最后附加了“ Java / 1.5.0_19”。有没有一种方法可以在没有此添加的情况下真正设置用户代理?


问题答案:

暂时,将http.agent system属性设置为""可以解决问题(我前面没有代码)。

你可能会逃脱:

 System.setProperty("http.agent", "");

但这可能需要你与URL协议处理程序的初始化之间进行竞争,如果它在启动时缓存了值(实际上,我认为不是)。

还可以通过JNLP文件(可从6u10的applet使用)和在命令行上设置该属性:

-Dhttp.agent=

或对于包装器命令:

-J-Dhttp.agent=


 类似资料:
  • 我有一个奇怪的小问题:如何设置截击中的用户代理? 我需要一些网站的完整版本(桌面版),而不是手机版。 我试图将变量userAgent从“volley/0”改为“Mozilla/5.0(X11;Linux i686)AppleWebKit/537.36(KHTML,比如Gecko)Chrome/27.0.1453.93 Safari/537.36”(我的Chrome)。没什么区别。 有什么建议吗?

  • 问题内容: 我正在尝试设置HTTP客户端,以便它使用代理,但是我不太明白该怎么做。该文档有多个对“代理”的引用,但是似乎没有一个功能允许定义代理。我需要的是这样的: 知道如何在Go中执行此操作吗? 问题答案: lukad是正确的,您可以设置环境变量,如果这样做,Go将默认使用它。 重击: 走: 您还可以构造自己的http.Client,无论环境如何配置,该客户端都必须使用代理: 如果您不能依赖环境

  • 我使用Firefox WebDriver在Python 2.7与硒。我的python程序启动火狐浏览器,并在运行程序时访问不同的网站。但是,我需要设置具有身份验证的代理,以便当程序访问任何网站时,它将通过代理服务器访问。 关于SO也有一些类似的问题。但是,没有针对Python的Selenium Firefox WebDriver的特定解决方案。 Python Selenium WebDrive-代

  • 问题内容: 我正在设置一个LAMP服务器,并想将Apache的umask设置设置为002,以便所有Apache创建的文件都设置了组写许可权位(以便同一组的成员可以覆盖这些文件)。 有谁知道如何做到这一点?我知道在Ubuntu上,您可以使用/ etc /apache2/envvars文件配置umask,但是服务器正在运行CentOS。 更新 此问题与我刚才问的另一个问题(LAMP服务器的Linux用

  • 问题内容: 我正在尝试在Android上使用React Native 设置。做过一些研究,看来我应该使用 拦截器 。我找到了一个示例,说明了如何完成此操作(Link),但是随后我不确定如何注册拦截器。 所以为了设置我正在使用这个类: 那么剩下的就是注册上述拦截器,那么应​​该在哪里做呢?也许在吗? 构建应用程序时我没有收到任何错误,因此我认为应该没问题-只需使应用程序使用它即可。 更新 :我目前正

  • 问题内容: 我无法正确设置https连接的属性。根据我的收集,可以通过VM选项或通过设置http- header属性。但是,通过VM选项设置用户代理会导致将Java / [version]附加到http.agent的值之后。同时,仅适用于http连接,不适用于https(至少在我尝试时)。 我已经通过使用WireShark检查http通讯来发现/验证了问题。有没有办法解决? 更新:附加信息 看来我