隧道代理ip使用

news/2024/9/18 14:48:14/ 标签: 网络

简介

隧道代理(Tunnel Proxy)是一种特殊的代理服务,它的工作方式是在客户端与远程服务器之间建立一条“隧道”。这种技术常被用来绕过网络限制或提高网络安全性。

主要功能

  • IP地址变换:隧道代理能够改变客户端的IP地址,使得客户端访问的目标服务器看到的是代理服务器的IP地址,而不是客户端的真实IP地址。
  • 数据加密传输:某些隧道代理服务会提供加密功能,确保数据在客户端与远程服务器之间的安全传输。
  • 动态IP池管理:隧道代理通常由云服务提供支持,具有动态分配IP地址的能力,这意味着可以频繁更换IP以避免被目标服务器封锁。
  • 简化开发流程:对于开发者来说,使用隧道代理可以减少管理IP池的复杂度,从而降低开发成本。

使用

注册隧道代理服务

https://www.kuaidaili.com/?ref=nes3yyyaelhd

互联网上有许多代理服务商,这个以其中一个举例

选择对应方式

按个人所需购买不同方式,若仅为短时非高频使用,建议购买按量付费模式。

代码实现

这里以java语言为例

jsoup

import java.io.IOException;
import java.net.Authenticator;
import java.net.InetSocketAddress;
import java.net.PasswordAuthentication;
import java.net.Proxy;
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;public class TestProxyJsoup {// 用户名密码, 若已添加白名单则不需要添加final static String ProxyUser = "t****";final static String ProxyPass = "*****";// 隧道域名、端口号final static String ProxyHost = "***.***.com";final static Integer ProxyPort = '****';public static String getUrlProxyContent(String url) {Authenticator.setDefault(new Authenticator() {public PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(ProxyUser, ProxyPass.toCharArray());}});Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress(ProxyHost, ProxyPort));try {// 此处自己处理异常、其他参数等Document doc = Jsoup.connect(url).followRedirects(false).timeout(3000).proxy(proxy).get();if (doc != null) {System.out.println(doc.body().html());}} catch (IOException e) {e.printStackTrace();}return null;}public static void main(String[] args) throws Exception {// 目标网站String targetUrl = "https://***.***.com/****";// JDK 8u111版本后,目标页面为HTTPS协议,启用proxy用户密码鉴权System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");getUrlProxyContent(targetUrl);}
}

hutool

import java.net.Authenticator;
import java.net.PasswordAuthentication;
import cn.hutool.http.HttpResponse;
import cn.hutool.http.HttpRequest;// 代理验证信息
class ProxyAuthenticator extends Authenticator {private String user, password;public ProxyAuthenticator(String user, String password) {this.user     = user;this.password = password;}protected PasswordAuthentication getPasswordAuthentication() {return new PasswordAuthentication(user, password.toCharArray());}
}public class TestProxyHutool {// 用户名密码, 若已添加白名单则不需要添加final static String ProxyUser = "t****";final static String ProxyPass = "*****";// 隧道域名、端口号final static String ProxyHost = "***.***.com";final static Integer ProxyPort = '*****';public static void main(String[] args) {// 目标网站String url = "https://***.***.com/***";// JDK 8u111版本后,目标页面为HTTPS协议,启用proxy用户密码鉴权System.setProperty("jdk.http.auth.tunneling.disabledSchemes", "");// 设置请求验证信息Authenticator.setDefault(new ProxyAuthenticator(ProxyUser, ProxyPass));// 发送请求HttpResponse result = HttpRequest.get(url).setHttpProxy(ProxyHost, ProxyPort).timeout(20000)//设置超时,毫秒.execute();System.out.println(result.body());}
}

结束


http://www.ppmy.cn/news/1516067.html

相关文章

5220条执业助理医师题库ACCESS\EXCEL数据库

今天这份数据库与《4820道西#医综合真题西医真题ACCESS数据库》、《4170条中#医综合真题中医真题ACCESS\EXCEL数据库》结构相同,包含5千多道真题。这个数据库包含3个表,一个是分类表(SECTION_BEAN),一个是题库主表&…

vscode自用插件分享

1. Image preview 通过此插件,当鼠标悬浮在图片的链接上时,可以实时预览该图片,除此之外,还可以看到图片的大小和分辨率。 2. Auto Rename Tag 使用该插件,可以在重命名一个 HTML 标签时,自动重命名 HTML 标…

動態IP設置反向代理教程

反向代理伺服器被廣泛應用於提升網站性能、安全性以及實現負載均衡。然而,對於擁有動態IP的用戶來說,設置反向代理可能會顯得有些複雜。本文將詳細介紹如何在動態IP環境下設置反向代理。 什麼是動態IP和反向代理? 動態IP:動態IP…

奇安信渗透测试岗位三面经验分享

吉祥知识星球http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247485367&idx1&sn837891059c360ad60db7e9ac980a3321&chksmc0e47eebf793f7fdb8fcd7eed8ce29160cf79ba303b59858ba3a6660c6dac536774afb2a6330#rd 《网安面试指南》http://mp.weixin.qq.com/s?…

Spring Aop学习笔记

AOP 简介 AOP的概念 AOP,Aspect Oriented Programming,面向切面编程,是对面向对象编程OOP的升华。OOP是纵向对一个事物的抽象,一个对象包括静态的属性信息,包括动态的方法信息等。而AOP是横向的对不同事物的抽象&…

C++第四十一弹---C++11新特性深度解析:让你的代码更现代、更高效(上)

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】 目录 1. C11简介 2. 统一的列表初始化 2.1 {}初始化 2.2 std::initializer_list 3. 声明 3.1 auto 3.2 decltype 3.3 nu…

css设置三个div宽度占据三分之一

在CSS中,如果你想让一个元素占据其父容器宽度的三分之一,你可以通过设置该元素的width属性为33.333%(或更常见的,简化为33.33%或33%,因为百分比在CSS中通常不需要极高的精度)来实现。这里是一个简单的例子&…

Python知识点:如何使用Redis与Redis-py进行缓存管理

使用Redis与redis-py进行缓存管理是常见的操作,尤其在处理高频请求或需要快速访问的数据时。以下是一个简单的指南,介绍如何使用redis-py与Redis进行缓存管理。 1. 安装Redis和redis-py 首先,需要确保Redis已经安装并正在运行。然后安装red…

【大数据算法】一文掌握大数据算法之:平面图直径问题的亚线性算法。

平面图直径问题的亚线性算法 1、引言2、平面图直径问题的亚线性算法2.1 定义2.2 核心原理2.3 应用场景2.4 算法公式2.5 代码示例 3、总结 1、引言 小屌丝:鱼哥,时间亚线性算算法的文章,咋感觉你写了一半呢? 小鱼:何出…

多元统计分析——基于R语言的单车使用情况可视化分析

注:基于R语言的单车使用情况可视化分析为实验记录,存在不足,自行改进。 一、提出问题(要解决或分析的问题) 1 、用户对共享单车的使用习惯,环境对共享单车运营带来的影响? 2 、共享单车的租赁…

单个像素的威胁:微小的变化如何欺骗深度学习系统

深度学习(DL)是人工智能(AI)的基本组成部分。它的目标是使机器能够执行需要决策机制的任务,这些决策机制往往近似于人类推理。深度学习模型是许多先进应用的核心,例如医疗诊断和自动驾驶汽车。不幸的是&…

dm8 disql 登录时执行sql 或脚本

dm8 disql 执行sql 或脚本 1 环境说明2 disql 登录同时查询sql2.1 到数据库bin目录登录2.2 使用绝对路径登录数据库 3 disql 登录同时执行sql 脚本3.1 编写sql脚本3.2 到数据库bin目录登录3.3 绝对路径登录数据库 4 达梦数据库学习使用列表 1 环境说明 演示环境 x86 cpu , 银河…

C++设计模式2:代理模式

实际上,代理模式就是委托类通过代理类来控制实际对象的访问权限。 比如老板就是委托类,助理就是代理类,由于不是每一个客户都可以面见老板,所以助理要帮助老板筛选那些可以面见老板的客户。又比如一款游戏,游戏的关卡就…

Java笔试面试题之多线程补充考点总结

常见考点虽然总结涵盖了文档中的大部分考点,但仍然存在一些未在总结中明确提到的具体考点。以下是一些补充的考点: 特定API的使用: Semaphore 的使用及其在多线程环境下的作用。CyclicBarrier 和 CountDownLatch 的详细使用场景及区别&#x…

Python酷库之旅-第三方库Pandas(100)

目录 一、用法精讲 431、pandas.DataFrame.items方法 431-1、语法 431-2、参数 431-3、功能 431-4、返回值 431-5、说明 431-6、用法 431-6-1、数据准备 431-6-2、代码示例 431-6-3、结果输出 432、pandas.DataFrame.keys方法 432-1、语法 432-2、参数 432-3、功…

波导阵列天线学习笔记4 一种用于毫米波通信的新型宽带双圆极化阵列天线

摘要: 在本文中,提出了一种新型的基于间隙波导毫米波双圆极化阵列天线。通过级联膜片极化器和十字转门OMT,简单的馈网被首次提出来实现双圆极化条件。通过膜片圆极化器可以在TE10和TE01模式之间实现90度的相位差,并且十字转门OMT被用于分别分…

秋冬春夏,纪念在CSDN的第365天

目录 时光 收获 工作 生活 憧憬 时光 再次收到创作纪念日的消息时,已在CSDN创作和度过了一年的时光。创作,成了自己的第二工作空间,成为了日常的一种习惯。 每当看到第1篇文章的提醒消息,都会想起当时创作的初衷和情景。是一…

MySQL编译安装-麒麟V10 x86

环境信息 操作系统: Kylin Linux Advanced Server V10 (Sword) 架构:X86 MySQL版本:5.7.44 编译 安装必要的依赖库和编译工具 sudo yum groupinstall Development Toolssudo yum install cmake ncurses-devel openssl-devel boost-devel libtirpc li…

自己DIY组装一台MacBook Pro2019需要多少钱,有高性价比吗

自己DIY组装一台MacBook Pro2019需要多少钱,有高性价比吗 一、初步设想 因为最近拆机拆上隐了,萌生了一个特别有趣的想法,看到小黄鱼市场上有很多卖MacBook Pro各种拆机配件的,五花八门啥都有,于是我就想,那我是不是可以自己购买这些硬件,组装配置一台自己想要配置的M…

ubuntu上cmake3.30.2的安装

引言 安装下载安装包将安装包从windows拷贝到ubuntu解压进入解压后的文件夹执行boostrap编译CMake安装CMake查看是否安装成功 目前的ubuntu系统是20.04.4,用命令行安装了cmake的版本是3.16的,由于项目需要升级cmake到cmake3.22之上,使用命令行…