python多线程实现http代理

本文介绍了如何使用Python的socket和threading模块实现一个HTTP代理服务器。首先讲解了socket模块的基本用法,然后展示了threading模块如何用于开启新线程。在环境搭建部分,详细说明了在Windows上设置代理以及使用IIS7搭建HTTP服务器的过程。最后,分析了完整的代码逻辑,包括监听套接字、线程管理和数据传输。
摘要由CSDN通过智能技术生成

文章要求

1.py socket模块

socket模块接触后很简单,我实现的是阻塞性的套接字。
需要了解到,连接套接字,监听套接字,和套接字accept()方法的返回值是元组
数据传递过程sock.recv(1024)sock.send()也不需要转换编码,直接以b"二进制流"传输

2.py threading模块

threading模块用起来也很简单,threading.Thread(target=函数名,args=(参数1,参数2)).start()直接一行代码就开启了一个新的线程,丢给它运行一个函数。

3.环境搭建

3.1设置代理

我用的是win10的机子,IP是192.168.1.10,设置代理,把浏览器的流量都转到8080端口上。
打开使用代理服务器
使用时,打开使用代理服务器,点击保存。就成功设置了代理。

3.2搭建http简单服务器

整个虚拟机,用iis7搭建http服务器,IP为192.168.1.12

代码分析

1.完整代码

import socket
import threading

REMOTE_IP = '192.168.1.12'
REMOTE_PORT = 80
LOCAL_IP = '192.168.1.10'
LOCAL_PORT = 8080
BUFF_SIZE = 2048
def tcp_mapping_worker(conn_receiver, conn_sender):
    while True:
        try:
            data = conn_receiver.recv(BUFF_SIZE)
        except Exception:
            print(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值