Java程序通过代理访问网络

本文介绍了在Java中实现通过代理服务器访问网络的方法,包括购买或搭建代理服务器,使用HTTP和HTTPS协议,以及通过VM Options和System.setProperty设置代理。文中以Eclipse为例进行了测试并成功访问了Google等网站。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题背景

最近工作上有开发爬虫的任务,对目标网站数据进行抓取,由于大部分网站都在国外,无法直接访问,需要通过代理才能登录。爬虫部署的服务器在香港,所以爬虫部署到服务器后,是可以访问目标网站的,但本地开发调试程序时,需要通过代理才能访问。
这篇文章就带大家了解一下如何在Java程序中使用代理访问网络。

解决方案

  • 你需要一个代理服务器,和一个可以连接到此服务器的客户端。
    花点银子买一个稳定的账号,或者自己搭建一个。
    这里我使用自己搭建的 Shadowsocks 代理服务器,使用 Shadowsocks-Windows 作为本地代理的客户端,并开启默认的 1080 端口,以供本地其他程序通过代理访问网络。
    编辑服务器信息

  • 指定 Java 程序的代理服务器地址和端口
    有两种指定方式:
    1. 通过 命令行参数 指定
      如果只需要考虑代理 HTTP 协议请求,只需添加如下命令行参数:
    -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080

    想要 HTTP 和 HTTPS 协议的请求都通过代理访问网络,可以追加上:
    -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=1080
    最终填写的值为:
    -Dhttp.proxyHost=127.0.0.1 -Dhttp.proxyPort=1080 -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=1080

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值