package cn.daenx.myadmin.email.utils;

import cn.hutool.http.HttpRequest;
import cn.hutool.http.HttpUtil; import java.net.*; /**
* HTTP请求使用http、socks代理demo,包含有认证和无认证
*
* @author DaenMax
*/
public class HttpProxyReqDemo {
public static void main(String[] args) {
//Hutool普通请求
HutoolReq();
//Hutool使用无认证的代理
HutoolReqProxy();
//Hutool使用有认证的代理
HutoolReqProxyAuth();
//Java.net使用有认证的代理
JavaNetReqProxyAuth();
} /**
* Hutool普通请求
*/
public static void HutoolReq() {
HttpRequest request = HttpUtil.createGet("https://www.baidu.com/");
String body = request.execute().body();
System.out.println(body);
} /**
* Hutool使用无认证的代理
*/
public static void HutoolReqProxy() {
HttpRequest request = HttpUtil.createGet("https://www.baidu.com/");
request = request.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890)));
// request = request.setProxy(new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("mylisg.fun", 36160)));
String body = request.execute().body();
System.out.println(body);
} /**
* Hutool使用有认证的代理
*/
public static void HutoolReqProxyAuth() {
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("CRsKrsNzJ0", "5tBgyWKrgy".toCharArray());
}
});
HttpRequest request = HttpUtil.createGet("https://www.baidu.com/");
request = request.setProxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890)));
// request = request.setProxy(new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("mylisg.fun", 36160)));
String body = request.execute().body();
System.out.println(body);
} /**
* Java.net使用有认证的代理
*
* @throws Exception
*/
public static void JavaNetReqProxyAuth() {
Authenticator.setDefault(new Authenticator() {
protected PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication("CRsKrsNzJ0", "5tBgyWKrgy".toCharArray());
}
});
try {
// 设置代理服务器地址和端口
// Proxy proxy = new Proxy(Proxy.Type.HTTP, new InetSocketAddress("127.0.0.1", 7890));
Proxy proxy = new Proxy(Proxy.Type.SOCKS, new InetSocketAddress("mylisg.fun", 36160));
// 创建URL对象
URL url = new URL("https://www.baidu.com/");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection(proxy);
connection.setRequestMethod("GET");
connection.connect();
int responseCode = connection.getResponseCode();
System.out.println("Response Code: " + responseCode);
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
} }

HTTP请求使用http、socks代理demo,包含有认证和无认证的更多相关文章

  1. node.js入门学习(二)MIME模块,request和response对象,demo之不同url请求不同html页面,页面包含图片、样式css等静态资源

    一.构建http服务程序-根据不同请求做出不同响应 // 加载http模块 var http = require("http"); // 创建一个http服务对象 http.cre ...

  2. 给HttpClient添加Socks代理

    本文描述http client使用socks代理过程中需要注意的几个方面:1,socks5支持用户密码授权:2,支持https:3,支持让代理服务器解析DNS: 使用代理创建Socket 从原理上来看 ...

  3. linux配置wifi连接并通过ssh代理开启socks代理

    1, 命令行配置连接wifi具体我是用的cubieboard2上Debian主机,其中配置wifi的命令行有wpa_cli,具体用法步骤如下.wpa_cli 命令行执行需要root权限,详细用法请见 ...

  4. Xshell添加ssh隧道SOCKS代理

    Xshell是一个功能强大的终端模拟器,支持SSH,SFTP.TELNET.RLOGIN和SERIAL 下载地址:http://www.netsarang.com/products/xsh_overv ...

  5. 给OkHttp Client添加socks代理

    Okhttp的使用没有httpClient广泛,网上关于Okhttp设置代理的方法很少,这篇文章完整介绍了需要注意的方方面面. 上一篇博客中介绍了socks代理的入口是创建java.net.Socke ...

  6. JAVA知识积累 给HttpClient添加Socks代理

    本文描述http client使用socks代理过程中需要注意的几个方面:1,socks5支持用户密码授权:2,支持https:3,支持让代理服务器解析DNS: 使用代理创建Socket 从原理上来看 ...

  7. 内网漫游之SOCKS代理大结局

    0×01 引言 在实际渗透过程中,我们成功入侵了目标服务器.接着我们想在本机上通过浏览器或者其他客户端软件访问目标机器内部网络中所开放的端口,比如内网的3389端口.内网网站8080端口等等.传统的方 ...

  8. 通过SOCKS代理渗透整个内网

    https://blog.csdn.net/SouthWind0/article/details/83111044 通过SOCKS代理渗透整个内网 1.背景 经过前期的渗透工作,我们现在已经成功找到了 ...

  9. http代理和SOCKS代理的区别

    HTTP 代理按匿名功能分类(是否具有隐藏 IP 的功能) 非匿名代理:不具有匿名功能. 匿名代理.使用此种代理时,虽然被访问的网站不能知道你的 IP 地址,但仍然可 以知道你在使用代理,有些侦测 I ...

  10. frp多层socks代理+端口映射

    一.首先在公网上配置服务端(frps.ini) [common] bind_addr = xx.xx.xx.xx #公网vps的ip bind_port = 7000   二.配置客户端frpc. i ...

随机推荐

  1. Suspense和vue-async-manager

    Suspense Suspense是 Vue3.x 中新增的特性, 那它有什么用呢?别急,我们通过 Vue2.x 中的一些场景来认识它的作用. Vue2.x 中应该经常遇到这样的场景: <tem ...

  2. VMware ESXi系统

    esxi全称"VMware ESXi",是可直接安装在物理服务器上的强大的裸机管理系统,是一款虚拟软件,不需安装其他操作系统,是VMware服务器虚拟化的基础.通过直接访问并控制底 ...

  3. Portainer安装配置

    什么是portainer 官网:https://www.portainer.io/ Portainer(基于 Go) 是一个轻量级的Web管理界面,可让您轻松管理 Docker 主机 或 Swarm ...

  4. Python进阶知识:多进程/多线程/装饰器

    本文写作于2025.3.20,恰好作者正好在外面实习,于此同时在实际工作中遇到这些知识点,因此就进行一个简短汇总方便后续回顾,内容同步更新(显示问题可以直接看):https://www.big-yel ...

  5. Go初入武林之乘法表

    为统一管理源码, 请到gitee中查看. GoTimesTable

  6. 探秘Transformer系列之(25)--- KV Cache优化之处理长文本序列

    探秘Transformer系列之(25)--- KV Cache优化之处理长文本序列 目录 探秘Transformer系列之(25)--- KV Cache优化之处理长文本序列 0x00 概述 0x0 ...

  7. @Autowired原理

    例子. // <bean id="> id默认类名首字母小写 默认是单例 // @Scope(value = "prototype") @Repository ...

  8. Eclipse 安装Server-Apache Tomcat 选择(Tomcat 9.0选项)

    1.打开组件安装 Eclipse→Help→Install New Software 2.输入当前eclipse对应版本(例如:2022-06),选择提示的官方路径 3.选择最底下的Web, XML, ...

  9. 🔥Gitlab 删除仓库文件夹

    1.进入文件夹 -> 右键 -> Git Bash Here -> 打开命令窗口 2.拉取代码到本地 (本地无项目情况) git clone git地址 3.拉取最新代码(本地已有项 ...

  10. Selenium反屏蔽处理

    Selenium自动化过程,在浏览器内会显示如下字样 当出现此内容时,有些网站就会判定是机器在进行操作,然后网站会加载防机器操作程序,如下图滑块验证 触发反机器操作的原理大概如下 解决方法 具体代码, ...