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. C++17 Filesystem 实用教程

    点击查看代码 C++17 标准带来了 std::filesystem库, 提供了强大的工具来处理文件路径, 目录以及其他与文件系统相关的操作. 这篇文章适合 C++ 初学者以及希望掌握 C++17 新 ...

  2. VSCode 下载总量超 900 万次的主题插件 Material Theme Free 被告知存在恶意代码

    2025年2月26日,VSCode 打开之后,Duang 突然一个弹窗出现,提示 Material Theme 被强制删除,VSCode 也回到了最初的长相,不说难看吧,只是不太习惯. 起因 英文原文 ...

  3. manim边学边做--移动相机的场景类

    Manim作为强大的数学动画引擎,其核心功能之一是实现复杂的镜头运动控制. MovingCameraScene类正是为满足这种需求而设计的专业场景类. 与基础Scene类相比,它通过以下特性拓展了镜头 ...

  4. k8s 手动更新 seldon core ca证书

    前言 seldon core 报错:x509: certificate has expired or is not yet valid: current time 这是因为 seldon core 默 ...

  5. Go配置管理神器—Viper中文教程

    Viper中文教程 Viper是适用于Go应用程序的完整配置解决方案.它被设计用于在应用程序中工作,并且可以处理所有类型的配置需求和格式. 安装 go get github.com/spf13/vip ...

  6. Linux环境 Oracle 监听和服务 日常操作

    文章目录                    一.Oracle监听                    1.1. 查看Oracle监听运行状态                    1.2. 启动 ...

  7. vue实现不同用户权限的方法

    Vue 实现不同用户权限的方法 在项目中,实现不同用户的权限控制是常见的需求也是常见的功能模块,例如管理系统中不同角色(管理员.普通用户等)应有不同的访问权限,小程序.App等在不同角色登入的时候显示 ...

  8. 选择排序--java进阶day06

    1.选择排序 https://kdocs.cn/l/ciMkwngvaWfz?linkname=150996881 了解了选择排序之后,我们来找其中的规律 2.规律 选择排序就是一个元素和数组后续元素 ...

  9. 微信 dat 文件还 荐

    前言 以微信 PC 端为例 某个小姐姐/小哥哥通过微信发给你的图片会在以下目录以 .dat 后缀的格式出现 C:\Users\taadis\Documents\WeChat Files\taadis\ ...

  10. C# Socket教程入门,Socket的使用方法,附可执行Demo

    核心: 在服务器端和客户端的两个Socket实例,共同维持一个连接,而我们还需要一个服务端绑定了特定端口号的固定的serverSocket,用来监听远方clientSocket的申请,并为这个申请建立 ...