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. 【Abaqus】*Solid Section定义复合材料

    *SOLID SECTION 介绍 *solid section 用来定义单元的材料属性,材料方向等信息: solid (continuum) elements infinite elements a ...

  2. C/C++ GOTO妙用

    目录 GOTO 语句 跳出多层循环 循环首次部分跳过 GOTO 语句 C/C++ 的 goto 语句用来在一个函数内进行任意跳转,用起来也是很方便.示例如下: int a() { int x = 0, ...

  3. Calico Kernel's RPF check is set to 'loose'

    前言 K8s 集群部署使用了 calico 网络插件,而calico node 节点发生如下报错: 2023-03-13 11:19:36.622 [FATAL][828] int_dataplane ...

  4. Obsidian 笔记一键转换发布为 Jekyll 博客

    Obsidian 是一款功能强大且灵活的知识管理和笔记软件,与 Jekyll 这一轻量级静态博客框架的结合,既能保留 Obsidian 的网状知识关联优势,又能借助 Jekyll 的高效编译能力快速生 ...

  5. 简单实现Android的本地文件读写,暨将List数据保存到Json文件中并读出

    一.让我们从引入依赖开始 //将这两行代码添加到以上位置,其他的一般不用管 implementation 'com.google.code.gson:gson:2.8.5' implementatio ...

  6. study Rust-8【使用结构体的方法】

    1.方法 与函数类似:它们使用 fn 关键字和名称声明,可以拥有参数和返回值,同时包含在某处调用该方法时会执行的代码.2.不过方法与函数是不同的,因为它们在结构体的上下文中被定义(或者是枚举或 tra ...

  7. 写给自己的话,学院派 C 转 实用派Java

    本人计算机专业出身,学校学习过C / VC++. 写过很一般的代码, 刷过北大百炼 ACM 的部分试题.学过数据结(还可以),数据库(学的一般会用sql).用 c指针链表构建过二叉树实现过哈夫曼编码加 ...

  8. 『Plotly实战指南』--直方图绘制与应用

    在数据科学的世界里,直方图是一种不可或缺的可视化工具,它以其简洁而直观的方式,揭示了数据的内在规律,为数据分析和决策提供了有力支持. 它能够帮助我们快速识别异常值,并为统计推断提供有力支撑. 无论是对 ...

  9. Asp.net mvc基础(四)其他类型的ActionResult

    ViewResult是ActionResult的子类 1.Redirect 返回值类型:RedirectResult 用法:return Redirect(""); //返回值类型 ...

  10. (原创)[开源][.Net Framework 4.0] SimpleLiveDataFeed(极易使用的采集数据滚动显示,基于MSChart)更新 v1.0,增加NuGet包

    一.前言 不管还有没有用的,即然是自己原创,就开源了发出来吧,也算是在这互联网上留下了些许记忆. 碎碎念:很早之前的 Windows Mobile 6.5/6.5.3 相关开发记录因为懒惰,现在想回忆 ...