隧道代理ip使用

news/2024/11/15 17:33:04/文章来源:https://www.cnblogs.com/zktww/p/18378692

简介

隧道代理(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.hqwc.cn/news/786958.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用C#爬取快手作者主页,并下载视频/图集

最近发现一些快手的作者,作品还不错,出于学习研究的目的,决定看一下怎么爬取数据。现在网上有一些爬虫工具,不过大部分都失效了,或者不开源。于是自己就写了一个小工具。先看一下成果:软件只需要填写作者uid以及网页版的请求Cookie,即可实现自动下载,下载目录在程序根目…

Python安装教程

第一步:先去官网上下载python安装包 系统64位下载地址:系统32位下载地址:第二步:点击安装包 要点击Add python.exe to PATH 这个是配置系统变量的然后点install Now就开始跑安装进度了打开终端输入代码 python 再输入print(123),如果输入123那么安装完成,可以整活了

用空间清理调理风水4什么是杂乱5杂物如何影响你6为什么保留杂物

4 什么是杂乱? 《牛津英语词典》将杂乱定义为 “乱七八糟的东西的集合”。是的,这是其中的一部分,但它只是从纯粹的物理层面来描述杂乱。 在我的定义中,凌乱分为四类:你不使用或不喜欢的东西杂乱无章的东西太多东西放在太小的空间里任何未完成的东西让我们逐一来看看这些东…

go免杀学习记录

本文主要介绍了go语言的加载器基本框架与绕过360与火绒的通用方法。题记最近剑来动漫上线,虽然观感不如我的预期,感觉节奏过快。但是也是一种进步了,愿各位道友都能找到自己的宁姚。"我喜欢的姑娘啊,她眉如远山,浩然天下所有好看的山,好看的水,加起来都不如她。她睫…

看图学 - Swift actor

本文首发于 Ficow Shens Blog,原文地址: 看图学 - Swift actor。想第一时间获取对于自己有帮助的新内容? 欢迎关注 Ficow 的公众号: 看图学 Swift actor如需获取PDF版本思维导图、示例代码,请查阅公众号内容: 《看图学 - Swift actor》Stay hungry,stay foolish.

VulNyx - Ceres 靶机

有80端口访问看看他这个挺奇葩的看了wp才知道 file.php的参数是file 他会自动给你加上php 也就是说file=secret.php读不到数据要file=secret才能读到数据伪协议读取文件<?php include($_GET["file"].".php"); ?><?php system("id…

读软件开发安全之道:概念、设计与实施08密码学(下)

密码学1. 对称加密 1.1. symmetric encryption 1.2. 使用各方共享的密钥来隐藏数据1.2.1. 对称加密在本质上依赖共享密钥1.3. 所有加密都是通过对明文进行转换,把明文消息(或者原始消息)变成无法识别的形式(也称为密文)​,从而隐藏原始消息内容的 1.4. 可逆的转换称为对称…

Citrix ADC Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器

Citrix ADC Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器Citrix ADC Release 14.1 Build 29.63 (nCore, VPX, SDX, CPX, BLX) - 混合多云应用交付控制器 Citrix ADC - 混合多云应用交付控制器 请访问原文链接:https://sysin.org/blog/citr…

程序员:全栈的痛你不知道

我这里说的全栈,不只是IT技术栈,还有更多的是产品运营思维。任何时候全栈人都应该用解决问题、推动事情往前发展的思维去做事。上周一个同事直接对我开喷,骂我无能,说:“你怎么一个人就搞不定所有系统呢?”,我半支烟纵横IT江湖14余年,还是第一次被人这么嫌弃。 事情缘由…

dotnet C# 从控制台开始 关联 Win2D 和 WinUI 3 应用

本文将告诉大家如何从最简单的控制台开始搭建,让 Win2D 和 WinUI 3 关联起来,让 Win2D 可以将内容渲染到 WinUI 3 应用上本文适合想了解 WinUI 3 基础机制以及 Win2D 与 WinUI 3 协同的方式的伙伴。阅读本文将可以了解到一个简单的方式,简单到使用控制台项目即可进行搭建整个…

Zustand:状态持久化在项目中的应用

Zustand的持久化中间件允许你将状态存储在各种存储中,例如localStorage、AsyncSZustand的持久化中间件允许你将状态存储在各种存储中,例如localStorage、AsyncStorage或IndexedDB等。这使得应用的状态可以跨页面持久化。也就是说用户刷新页面或者关闭浏览器后重新打开,应用的…

060、Vue3+TypeScript基础,插槽的基础用法

01、main.js代码如下:// 引入createApp用于创建Vue实例 import {createApp} from vue // 引入App.vue根组件 import App from ./App.vue// 引入emitter用于全局事件总线 // import emitter from @/utils/emitterconst app = createApp(App);// App.vue的根元素id为app app.mou…