通过 VPN/代理的 JSoup

2023-11-21

我正在尝试使用 JSoup 来抓取临时服务器上的一些页面。要使用浏览器查看登台服务器上的页面,我需要连接到 VPN。

我已连接到 VPN,但当我使用 JSoup 尝试抓取页面时,它总是超时。如何让我的程序使用 VPN 连接。还是还有其他我没有想到的事情?

注意:我还在程序的另一部分中使用了 HttpClient。有没有一种方法可以将我的程序设置为在程序初始化后连接到 VPN/代理,以便 JSoup 和 HttpClient 都使用 VPN/代理。

Thanks


您可以为代理设置 java 属性:

// if you use https, set it here too
System.setProperty("http.proxyHost", "<proxyip>"); // set proxy server
System.setProperty("http.proxyPort", "<proxyport>"); // set proxy port

Document doc = Jsoup.connect("http://your.url.here").get(); // Jsoup now connects via proxy

或者将网站下载到字符串中并解析它:

final URL website = new URL("http://your.url.here"); // The website you want to connect

// -- Setup connection through proxy
Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("<proxyserver>", 1234)); // set proxy server and port
HttpURLConnection httpUrlConnetion = (HttpURLConnection) website.openConnection(proxy);
httpUrlConnetion.connect();

// -- Download the website into a buffer
BufferedReader br = new BufferedReader(new InputStreamReader(httpUrlConnetion.getInputStream()));
StringBuilder buffer = new StringBuilder();
String str;

while( (str = br.readLine()) != null )
{
    buffer.append(str);
}

// -- Parse the buffer with Jsoup
Document doc = Jsoup.parse(buffer.toString());

您可以使用HttpClient对于这个解决方案也是如此。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过 VPN/代理的 JSoup 的相关文章

随机推荐

  • Python:将 3D 数组中的值存储到 csv

    我有以下问题 我有一个 3D 数组 例如matrix np zeros 30 30 100 其中每个条目都是一个坐标并获取一个值 所以matrix 0 0 0 是坐标 x 0 y0 z 0 且值为 0 现在我想将所有值存储在 csv 中 如
  • 使用 Django Rest Framework 和 IOS 应用程序时要使用哪种身份验证?

    我有一个 iOS 应用程序 它使用由 Django REST 框架提供支持的 API 来存储 更新 从数据库中获取数据 我需要提供以下两个功能 将用户数据存储在服务器上 使用电子邮件登录 使用 Facebook 登录 我可以使用两种不同的身
  • 如何动态地将内容加载到 JavaFX 选项卡?

    我有一个 GUI 是使用 JavaFX 和 FXML 制作的 该 GUI 有很多组件 但并非一次性需要所有组件 例如 想象一个 GUI 从其服务器部分接收城市列表 每个城市都在其自己的选项卡上进行描述 并用很多节点进行描述 该城市集包含 3
  • iOS 7 应用程序图标、启动图像和命名约定,同时保留 iOS 6 图标

    我刚刚在 iOS 6 上完成了一个应用程序 并在一周前购买了一个开发者帐户 因此没有太多时间使用 iOS 7 SDK 刚刚下载了 Golden Master 版本并尝试升级我的应用程序以与 iOS 7 兼容 我意识到 iOS 7 需要对应用
  • Python 日志记录:disable() 的反向影响

    The 记录文档说调用logging disable lvl 方法可以 暂时限制整个应用程序的日志输出 但我很难找到 暂时 以以下脚本为例 import logging logging disable logging CRITICAL lo
  • ImageView 上的透明视图

    我被堵在那里了 我试图在背景上放置一个透明视图 我尝试了几种方法 通过 XML android background color transparent or android color 80000000 或者像这样引用 color xml
  • C++ 中的大文件支持

    64 位文件 API 在每个平台上都不同 在窗口中 fseeki64在Linux中 fseeko在 freebsd 中 另一个类似的调用 如何才能最有效地使其更加方便和便携 有什么有用的例子吗 大多数基于 POSIX 的平台都支持 FILE
  • 使用 Boost 进行进程间读取器/写入器锁定

    这个线程在解释如何使用 Boost 实现读取器 写入器锁时 它是黄金 它看起来相对简单 我真的很喜欢它 但它似乎也使用了非命名锁 我需要一个进程间解决方案 不需要是可移植的 可以仅适用于 Windows 有没有办法实现进程间shared m
  • 使用 ODATA 过滤 x 和 y 之间的日期

    我正在研究新的 ASP NET Web API 作为报告工具 在 SQL 中我会这样做 WHERE order date BETWEEN to date 2003 01 01 yyyy mm dd AND to date 2003 12 3
  • 什么xsd会让一个元素无限地拥有自己作为子元素?

    我如何创建一个 xsd 来为我提供这种可以无限继续的 xml 结构
  • 以另一个用户身份执行 Oracle 存储过程

    我主要是一个 Oracle 新手 所以请原谅我 如果这是一个愚蠢的问题 我有一个名为 CODE 的模式 其中包含执行任意 SQL 的存储过程 目前 请忽略与之相关的潜在安全问题 传入的SQL会选择数据 但所有数据都驻留在模式 A B 或 C
  • 对预检请求的响应未通过访问控制检查 Laravel 和 Ajax 调用

    我有一个用 Laravel 5 1 制作的 REST api 托管在远程服务器上 现在 我尝试从另一个网站 我在本地 使用该 API 在 Laravel 中 我设置了发送 CORS 标头所需的行 我还使用 Postman 测试了 API 一
  • ASP.NET 安全角色和权限

    我对 ASP NET 安全模型很满意 在该模型中 人们可以根据用户的角色 例如 用户在 web config 中的角色 来允许 拒绝对用户的访问
  • Android - SupportMapFragment 与 GoogleMaps API 2.0 给出 IllegalArgumentException

    我正在尝试使用为 Android 提供的最新 Map API 2 0 我正在使用支持库 因为我想支持 Android 2 2 以下是我的代码 主要活动类别 public class MainActivity extends Fragment
  • SyntaxError:JSON 中位置 0 处出现意外的标记 C - Ionic 2 Http GET 请求

    我正在尝试执行一个GET请求并从响应中检索数据 this http get http localhost 8888 maneappback more items php subscribe res gt console log res js
  • 在 Django 项目中保存 signal.py 文件的正确位置

    根据我正在阅读的 Django 文档 看起来像signals py在应用程序文件夹中是一个很好的起点 但我面临的问题是 当我为pre save我尝试从模型中导入该类 它与import在我的模型中 models py from django
  • 抽象方法覆盖抽象方法

    public abstract class A public abstract void Process public abstract class B A public abstract override void Process pub
  • 从计算中提取队列授权

    我正在尝试使用 python 使用计算 OAuth 令牌从 google 计算访问拉取队列 from oauth2client import gce from apiclient discovery import build import
  • 是否可以事后确定 .NET 程序集是用哪种语言编写的?

    这最初是一种查找 C CLI 和托管 C 程序集的方法 以便可以测试它们内部的所有类 以确保重新实现所有继承的方法 我想将其添加为构建过程步骤 以确保它不再发生 思考这个问题也让我有点好奇 因为能够确定所使用的任何 NET 语言会很有趣 因
  • 通过 VPN/代理的 JSoup

    我正在尝试使用 JSoup 来抓取临时服务器上的一些页面 要使用浏览器查看登台服务器上的页面 我需要连接到 VPN 我已连接到 VPN 但当我使用 JSoup 尝试抓取页面时 它总是超时 如何让我的程序使用 VPN 连接 还是还有其他我没有