当前位置: 首页 > news >正文

python--杂识--16--代理密码中包含特殊字符

1 安装nginx

2 centos环境安装

yum install httpd-tools

3 nginx.conf

/etc/nginx/conf/nginx.conf

#user  nobody;
worker_processes  1;#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;#pid        logs/nginx.pid;events {worker_connections  1024;
}http {upstream backend {server 127.0.0.1:80;}server {listen 80;server_name localhost;location / {return 200 'Hello, World!';}}server {listen 514;server_name localhost;auth_basic "Restricted Access";  # 要求输入用户名和密码auth_basic_user_file /etc/nginx/.htpasswd;  # 存储用户名和密码的文件路径location / {proxy_pass http://backend;}}}

4 代理设置密码

测出设置的 test/123abc@

htpasswd -c /etc/nginx/.htpasswd test
New password: 
Re-type new password: 
Adding password for user test

5 启动nginx[代理]

检查配置文件是否正确

/usr/local/nginx/sbin/nginx -t -c /etc/nginx/conf/nginx.conf

启动nginx

/usr/local/nginx/sbin/nginx -c /etc/nginx/conf/nginx.conf

6 curl测试

(base) [root@Chasing-Dreams conf]# curl -X GET http://test:123abc%40@localhost:514
Hello, World!

7 python代码测试

import requests
from requests.auth import HTTPBasicAuthurl = 'http://localhost'
username = "test"
password = "123abc@"def special_char(password):tmp_password_list = list()for x in password:if not x.isalnum():x = "%" + hex(ord(x))[2:]tmp_password_list.append(x)password = "".join(tmp_password_list)return passworddef method1():print("===========1=============")proxy = {'http': 'http://localhost:514','https': 'https://localhost:514'}print(proxy)response = requests.get(url, proxies=proxy, auth=HTTPBasicAuth(username, password))print(response.text)def method2():print("===========2=============")print("===========2.1=============")url = "http://%s:%s@localhost:514" % (username, password)   # 代理print(url)response = requests.get(url=url)print(response.text)print("===========2.2=============")password_ = special_char(password)url = "http://%s:%s@localhost:514" % (username, password_)print(url)response = requests.get(url=url)print(response.text)def method3():print("===========3=============")proxy = {'http': 'http://localhost:514','https': 'https://localhost:514'}print(proxy)req = requests.request(method="GET", url=url, proxies=proxy, auth=HTTPBasicAuth(username, password))print(req.text)def method4():print("===========4=============")"""部分代理按该方式处理,使用nginx做代理测试时,没有成功"""global passwordpassword = special_char(password)proxy = {'http': 'http://%s:%s@localhost:514' % (username, password),'https': 'https://%s:%s@localhost:514' % (username, password)}print(proxy)req = requests.request(method="GET", url=url, proxies=proxy)print(req.text)if __name__ == "__main__":method1()method2()method3()method4()"""
运行结果:
(base) [root@Chasing-Dreams test]# python test.py 
===========1=============
{'http': 'http://localhost:514', 'https': 'https://localhost:514'}
Hello, World!
===========2=============
===========2.1=============
http://test:123abc@@localhost:514
Hello, World!
===========2.2=============
http://test:123abc%40@localhost:514
Hello, World!
===========3=============
{'http': 'http://localhost:514', 'https': 'https://localhost:514'}
Hello, World!
===========4=============
{'http': 'http://test:123abc%40@localhost:514', 'https': 'https://test:123abc%40@localhost:514'}
<html>
<head><title>401 Authorization Required</title></head>
<body>
<center><h1>401 Authorization Required</h1></center>
<hr><center>nginx/1.20.2</center>
</body>
</html>
"""

相关文章:

python--杂识--16--代理密码中包含特殊字符

1 安装nginx 2 centos环境安装 yum install httpd-tools3 nginx.conf /etc/nginx/conf/nginx.conf #user nobody; worker_processes 1;#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;#pid logs/nginx.pid;e…...

【Git】05 分离头指针

文章目录 一、分离头指针二、创建分支三、比较commit内容四、总结 一、分离头指针 正常情况下&#xff0c;在通过git checkout命令切换分支时&#xff0c;在命令后面跟着的是分支名&#xff08;例如master、temp等&#xff09;或分支名对应commit的哈希值。 非正常情况下&…...

【Tomcat与网络9】提高Tomcat启动速度的八大措施

本文我们来看一下如何对Tomcat进行调优&#xff0c;我们对于Tomcat的调优主要集中在三个方面&#xff1a;提高启动速度、提高系统稳定性和提高并发能力&#xff0c;后两者很多时候是相辅相成的&#xff0c;我们放在一起看。 Tomcat现在一般都嵌入在SpringBoot里&#xff0c;因…...

蓝桥杯嵌入式第七届真题(完成) STM32G431

蓝桥杯嵌入式第七届真题(完成) STM32G431 题目 相关文件 main.c /* USER CODE BEGIN Header */ /********************************************************************************* file : main.c* brief : Main program body**********************…...

如何降低视频RTSP解码延迟

降低RTSP&#xff08;Real-Time Streaming Protocol&#xff09;视频流的解码延迟涉及到网络传输和解码处理的优化。以下是一些常见的方法&#xff1a; 选择低延迟的解码器&#xff1a;使用专为低延迟优化的解码器&#xff0c;例如一些定制的H.264或H.265解码器。 优化解码器设…...

【Golang】自定义logrus日志保存为日志文件

背景 为了方便查看日志&#xff0c;项目中需要把日志保存到对应的日志文件中&#xff0c;所以需要当前的配置&#xff0c;以使得日志能够保存到对应的日志文件中。 代码 import ("github.com/orandin/lumberjackrus""github.com/sirupsen/logrus" )func …...

【大厂AI课学习笔记】1.4 算法的进步(4)关于李飞飞团队的ImageNet

第一个图像数据库是ImageNet&#xff0c;由斯坦福大学的计算机科学家李飞飞推出。ImageNet是一个大型的可视化数据库&#xff0c;旨在推动计算机视觉领域的研究。这个数据库包含了数以百万计的手工标记的图像&#xff0c;涵盖了数千个不同的类别。 基于ImageNet数据库&#xf…...

【Linux笔记】缓冲区的概念到标准库的模拟实现

一、缓冲区 “缓冲区”这个概念相信大家或多或少都听说过&#xff0c;大家其实在C语言阶段就已经接触到“缓冲区”这个东西&#xff0c;但是相信大家在C语言阶段并没有真正弄懂缓冲区到底是个什么东西&#xff0c;也相信大家在C语言阶段也因为缓冲区的问题写出过各种bug。 其…...

【前端收藏】前端小作文-前端八股文知识总结(超万字超详细)持续更新

有了这个八股文不仅对你基础知识的巩固&#xff0c;不管你是几年老前端程序员&#xff0c;还是要去面试的&#xff0c;文章覆盖了前端常用及不常用的方方面面&#xff0c;都是前端日后能用上的&#xff0c;对你的前端知识有总结意义&#xff0c;看完后&#xff0c;懂的不懂的都…...

GNSS模块的惯导技术:引领定位科技的前沿

全球导航卫星系统&#xff08;GNSS&#xff09;模块的惯导技术是一项颇具前瞻性的科技&#xff0c;它结合了全球定位系统和惯性导航技术&#xff0c;为各个领域的定位需求提供了更为精准和可靠的解决方案。本文将深入探讨GNSS模块的惯导技术&#xff0c;以及它如何在多个领域中…...

Flutter 和 Android原生(Activity、Fragment)相互跳转、传参

前言 本文主要讲解 Flutter 和 Android原生之间&#xff0c;页面相互跳转、传参&#xff0c; 但其中用到了两端相互通信的知识&#xff0c;非常建议先看完这篇 讲解通信的文章&#xff1a; Flutter 与 Android原生 相互通信&#xff1a;BasicMessageChannel、MethodChannel、…...

Kubernetes基础(十一)-CNI网络插件用法和对比

1 CNI概述 1.1 什么是CNI&#xff1f; Kubernetes 本身并没有实现自己的容器网络&#xff0c;而是借助 CNI 标准&#xff0c;通过插件化的方式来集成各种网络插件&#xff0c;实现集群内部网络相互通信。 CNI&#xff08;Container Network Interface&#xff0c;容器网络的…...

yo!这里是单例模式相关介绍

目录 前言 特殊类设计 只能在堆上创建对象的类 1.方法一&#xff08;构造函数下手&#xff09; 2.方法二&#xff08;析构函数下手&#xff09; 只能在栈上创建对象的类 单例模式 饿汉模式实现 懒汉模式实现 后记 前言 在面向找工作学习c的过程中&#xff0c;除了基本…...

2023年上-未来几年我要做什么

1月份&#xff0c;离职。 2月份&#xff0c;春节休假回来&#xff0c;中旬去参加了一个月的瑜伽培训&#xff0c;学会了倒立、鹤蝉。。。。 3月份&#xff0c;瑜伽培训结束&#xff0c;开始收拾房子&#xff0c;并调研各类项目。 4月份&#xff0c;参与了朋友的区块链项目 …...

智能汽车竞赛摄像头处理(3)——动态阈值二值化(大津法)

前言 &#xff08;1&#xff09;在上一节中&#xff0c;我们学习了对图像的固定二值化处理&#xff0c;可以将原始图像处理成二值化的黑白图像&#xff0c;这里面的本质就是将原来的二维数组进行了处理&#xff0c;处理后的二维数组里的元素都是0和255两个值。 &#xff08;2…...

BGP协议

1.BGP相关概念 1.1 BGP的起源 不同自治系统&#xff08;路由域&#xff09;间路由交换与管理的需求推动了EGP的发展&#xff0c;但是EGP的算法简单&#xff0c;无法选路&#xff0c;从而被BGP取代。 自治系统&#xff1a;&#xff08;AS&#xff09; IGP&#xff1a;自治系统…...

一个完整工作流管理系统的组成部分

一个完整工作流管理系统的组成部分 一个完整的工作流管理系统通常由工作流引擎、工作流设计器、流程操作、工作流客户端程序、流程监控、表单设计器、与表单的集成以及与应用程序的集成八个部分组成。 一、工作流组成 1. 工作流引擎 工作流引擎作为工作流管理系统的核心部分&…...

鱼和熊掌如何兼得?一文解析RDS数据库存储架构升级

在2023年云栖大会上&#xff0c;阿里云数据库产品事业部负责人李飞飞在主题演讲中提到&#xff0c;瑶池数据库推出“DB存储”一体化能力&#xff0c;结合人工智能、机器学习、存储等方法和创新能力&#xff0c;实现Buffer Pool Extension能力和智能冷温热数据分层能力。在大会的…...

中科大计网学习记录笔记(五):协议层次和服务模型

前言&#xff1a; 学习视频&#xff1a;中科大郑烇、杨坚全套《计算机网络&#xff08;自顶向下方法 第7版&#xff0c;James F.Kurose&#xff0c;Keith W.Ross&#xff09;》课程 该视频是B站非常著名的计网学习视频&#xff0c;但相信很多朋友和我一样在听完前面的部分发现信…...

同构异机迁移方案2_目标服务器仅安装数据库软件scp物理文件

源端和目标端的数据库版本需要保持一致&#xff0c;补丁版本可以不一致&#xff0c;目标端磁盘空间不能小于源端空间&#xff0c;目标端只需要安装 Oracle 软件即可。 特别说明&#xff1a;本文档案例Oracle的安装路径不同&#xff0c;数据目录一致&#xff0c;采用scp的方式实…...

Flask RESTful 示例

目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题&#xff1a; 下面创建一个简单的Flask RESTful API示例。首先&#xff0c;我们需要创建环境&#xff0c;安装必要的依赖&#xff0c;然后…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

深入浅出:JavaScript 中的 `window.crypto.getRandomValues()` 方法

深入浅出&#xff1a;JavaScript 中的 window.crypto.getRandomValues() 方法 在现代 Web 开发中&#xff0c;随机数的生成看似简单&#xff0c;却隐藏着许多玄机。无论是生成密码、加密密钥&#xff0c;还是创建安全令牌&#xff0c;随机数的质量直接关系到系统的安全性。Jav…...

高频面试之3Zookeeper

高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个&#xff1f;3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制&#xff08;过半机制&#xff0…...

1688商品列表API与其他数据源的对接思路

将1688商品列表API与其他数据源对接时&#xff0c;需结合业务场景设计数据流转链路&#xff0c;重点关注数据格式兼容性、接口调用频率控制及数据一致性维护。以下是具体对接思路及关键技术点&#xff1a; 一、核心对接场景与目标 商品数据同步 场景&#xff1a;将1688商品信息…...

大语言模型如何处理长文本?常用文本分割技术详解

为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...

【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)

可以使用Sqliteviz这个网站免费编写sql语句&#xff0c;它能够让用户直接在浏览器内练习SQL的语法&#xff0c;不需要安装任何软件。 链接如下&#xff1a; sqliteviz 注意&#xff1a; 在转写SQL语法时&#xff0c;关键字之间有一个特定的顺序&#xff0c;这个顺序会影响到…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧&#xff01;&#xff01;&#xff01;非常感谢&#xff01;&#xff01;持续更新&#xff01;&#xff01;&#xff01; &#x1f680; AI篇持续更新中&#xff01;&#xff08;长期更新&#xff09; 目前2025年06月05日更新到&#xff1a; AI炼丹日志-28 - Aud…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

【android bluetooth 框架分析 04】【bt-framework 层详解 1】【BluetoothProperties介绍】

1. BluetoothProperties介绍 libsysprop/srcs/android/sysprop/BluetoothProperties.sysprop BluetoothProperties.sysprop 是 Android AOSP 中的一种 系统属性定义文件&#xff08;System Property Definition File&#xff09;&#xff0c;用于声明和管理 Bluetooth 模块相…...