首页 > 其他分享 >隧道代理ip使用

隧道代理ip使用

时间:2024-08-25 12:26:22浏览次数:9  
标签:隧道 String java ip 代理 public static import final

简介

隧道代理(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());
    }
}

结束

标签:隧道,String,java,ip,代理,public,static,import,final
From: https://blog.csdn.net/zk_tww/article/details/141524627

相关文章

  • apt update 报错:Could not handshake: Error in the pull function. [IP: 185.199.108
    sudoaptupdate报错:错误:12https://nvidia.github.io/nvidia-container-runtime/stable/ubuntu18.04/amd64ReleaseCouldnothandshake:Errorinthepullfunction.[IP:185.199.108.153443]错误:13https://nvidia.github.io/nvidia-docker/ubuntu18.04/amd64Re......
  • P1087 [NOIP2004 普及组] FBI 树
    大家好!下面为大家讲解我做了两年半的题目,[NOIP2004普及组]FBI树题目描述我们可以把由0和1组成的字符串分为三类:全0串称为B串,全1串称为I串,既含0又含1的串则称为F串。FBI树是一种二叉树,它的结点类型也包括F结点,B结点和I结点三种。由一个长度为......
  • JavaScript 构建一个简单的待办事项应用
    包含添加、删除、标记任务功能。<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>TodoList&......
  • 隧道代理ip使用
    简介隧道代理(TunnelProxy)是一种特殊的代理服务,它的工作方式是在客户端与远程服务器之间建立一条“隧道”。这种技术常被用来绕过网络限制或提高网络安全性。主要功能IP地址变换:隧道代理能够改变客户端的IP地址,使得客户端访问的目标服务器看到的是代理服务器的IP地址,而不是客......
  • 2024玩儿转TikTok之环境介绍及独立使用住宅ip搭建,最便宜的网络,20元/月,刚刚更新最新教
    郑重申明:本文章只对合法合理做tiktok视频运营的用户做学习交流使用,有其他使用不当的违规违法行为后果自负!网络的环境测试,必须是独立住宅ip,网络环境优良,tiktok发布作品才能有流量1、选择服务器我选择的服务器:https://ipraft.com/?i71b7cf​​​然后下载FinalShell连接......
  • 解决typescript项目报错:找不到模块“xxx”或其相应的类型声明问题
    在TypeScript项目中遇到"找不到模块'xxx'或其相应的类型声明"的错误,通常意味着TypeScript编译器无法找到你尝试导入的模块,或者没有为该模块提供类型定义。以下是一些解决这个问题的方法:检查模块名称:确保你导入的模块名称是正确的,并且与你的文件系统中的模块名称一致。安装类......
  • 深度解析:为何顶尖SEO专家偏爱使用代理技术?
    在当今这个数字化时代,搜索引擎优化(SEO)已成为企业和电商从业者在网站获取自然流量、提升品牌知名度和促进业务增长的关键策略之一。然而,随着搜索引擎算法的不断升级和市场竞争的日益激烈,传统的SEO手段已难以满足现代改善SEO需求。在此背景下,利用代理技术优化网站排名成为了一种......
  • 【JavaEE初阶】IP协议
    目录......
  • Python内置函数zip()——《Python内置函数手册》Python老吕编著
    Python内置函数zip——《Python内置函数手册》Python老吕编著Python内置函数`zip()`1.引言1.1迭代器和序列的概念1.2`zip()`函数概述2.`zip()`函数的基础知识2.1函数定义与语法2.2参数说明2.3返回值解释3.`zip()`函数的应用场景3.1将多个......
  • [TCP/IP]四次挥手
    三次握手四次挥手OSI七层模型应用层表示层会话层传输层网络层数据链路层物理层TCP/IP四层模型应用层传输层网络层数据链路层物理层全双工全双工(Full-Duplex)是指在通信中,数据传输能够在两个方向上同时进行,允许双方在同一时间既能发送数据,又能接收数据。这种方式......