HTTP Proxy Demo 代码示例

这篇具有很好参考价值的文章主要介绍了HTTP Proxy Demo 代码示例。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下是一个简单的 HTTP Proxy Demo 代码,使用 Python 3 编写:

```python

import socket

def handle_request(client_socket):

# 接收客户端请求

request_data = client_socket.recv(1024)

print(request_data.decode())

# 解析请求,获取目标主机和端口号

first_line = request_data.decode().split('\n')[0]

url = first_line.split(' ')[1]

host = url.split(':')[0]

port = int(url.split(':')[1])

# 创建一个新的 socket,连接目标主机和端口号

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_socket.connect((host, port))

# 将客户端请求发送给目标主机

server_socket.send(request_data)

# 接收目标主机的响应

response_data = server_socket.recv(1024)

print(response_data.decode())

# 将目标主机的响应发送给客户端

client_socket.send(response_data)

# 关闭连接

client_socket.close()

server_socket.close()

def main():

# 创建一个 socket,绑定到本地端口号

server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_socket.bind(('localhost', 8000))

# 开始监听连接

server_socket.listen(1)

print('Proxy server is listening on port 8000...')

while True:

# 接受客户端连接

client_socket, client_address = server_socket.accept()

print('Received connection from:', client_address)

# 处理客户端请求

handle_request(client_socket)

if __name__ == '__main__':

main()

```

这个 Demo 实现了一个简单的 HTTP Proxy,它监听本地的 8000 端口,当有客户端连接时,它会解析客户端的请求,获取目标主机和端口号,然后创建一个新的 socket,连接目标主机和端口号,将客户端请求发送给目标主机,接收目标主机的响应,然后将响应发送给客户端。文章来源地址https://www.toymoban.com/news/detail-490196.html

#! -*- encoding:utf-8 -*-

    import requests

    # 要访问的目标页面
    targetUrl = "http://ip.hahado.cn/ip"

    # 代理服务器
    proxyHost = "ip.hahado.cn"
    proxyPort = "39010"

    # 代理隧道验证信息
    proxyUser = "username"
    proxyPass = "password"

    proxyMeta = "http://%(user)s:%(pass)s@%(host)s:%(port)s" % {
        "host" : proxyHost,
        "port" : proxyPort,
        "user" : proxyUser,
        "pass" : proxyPass,
    }

    proxies = {
        "http"  : proxyMeta,
        "https" : proxyMeta,
    }

    resp = requests.get(targetUrl, proxies=proxies)

    print resp.status_code
    print resp.text

到了这里,关于HTTP Proxy Demo 代码示例的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Python - 【socket】 客户端client重连处理简单示例Demo(一)

    在Python中,使用socket进行网络通信时,如果连接断开,可以通过以下步骤实现重连处理 这个函数使用一个while循环,不断地尝试建立 socket 连接,如果出现 socket.error 异常,则打印异常信息并等待5秒钟重试。当连接成功时,函数会返回一个连接套接字。 在主程序中,可以使用

    2024年02月14日
    浏览(30)
  • 九耶|阁瑞钛伦特:以下是一个地铁跑酷html代码

    以下是一个简单的地铁跑酷的 HTML 代码示例: 这是一个简单的地铁跑酷游戏的页面,包含一个底部的红色方块代表玩家。按下空格键时,玩家会执行跳跃动作。请注意,这只是一个简单示例,没有添加游戏的逻辑和其他元素。如果想要创建一个完整的地铁跑酷游戏,需要更复

    2024年02月14日
    浏览(101)
  • 搭建一个简单的Spring Demo

    要学习Spring 源码,一个是从Spring GitHub 上去down源码,然后倒入IDEA编译,但这种方法费时费力,如果你不需要对Spring 源码进行修改后,再编译的话,直接搭建一个Spring Demo 的Maven项目,引入Spring 对应依赖,下载源码包,通过Demo来学习。 本专栏就通过该Demo来学习Spring 源码,并

    2024年01月23日
    浏览(28)
  • java实现一个简单的webSocket聊天demo

    添加pom文件依赖 创建webSocketConfig配置类,即注册ServerEndpointExporter,该bean用于扫描被@ServerEndpoint注解的类,并将其作为服务端. 创建被@ServerEndpoint注解的类用于作为webSocket服务器并指定连接的uri 使用注解标记对应的方法,,并启动程序。 项目启动后,测试websocket是否可用。

    2024年02月10日
    浏览(27)
  • 移植LVGL到单片机的一个demo简单介绍

    背景 : 本文使用的是主控IC为stm32f103zet6, 显示IC为ST7735s,它是128*160的像素,色深为RGB565颜色。 官方虽然说LVGL移植平台只需 64kB 闪存和 8kB RAM 就足以满足简单的用户界面。但我移植到stm32f103c8t6,不管怎么修改配置,一直显示内存不够。 LVGL 可以驱动单色OLED、TFT 显示器、监视

    2024年01月17日
    浏览(32)
  • 写一个简单的静态html页面demo,包含幻灯片

    效果图: 代码如下,图片文件可自行更换:

    2024年02月11日
    浏览(38)
  • 第2集丨webpack 江湖 —— 创建一个简单的webpack工程demo

    webpack 是一个用于现代 JavaScript 应用程序的 静态模块打包工具。当 webpack 处理应用程序时,它会在内部从一个或多个入口点构建一个 依赖图( dependency graph ),然后将你项目中所需的每一个模块组合成一个或多个 bundles ,它们均为静态资源,用于展示你的内容。 纸上得来终觉浅

    2024年02月15日
    浏览(30)
  • 【Go语言开发】简单了解一下搜索引擎并用go写一个demo

    这篇文章我们一起来了解一下搜索引擎的原理,以及用go写一个小demo来体验一下搜索引擎。 搜索引擎一般简化为三个步骤 爬虫:爬取数据源,用做搜索数据支持。 索引:根据爬虫爬取到的数据进行索引的建立。 排序:对搜索的结果进行排序。 然后我们再对几个专业名词做

    2024年02月16日
    浏览(35)
  • 一个简单的spdlog使用示例

    目录 引用源码 封装Log头文件 使用方法 spdlog是一个开源、跨平台、无依赖、只有头文件的C++11日志库,网上介绍的文章有很多这里就不过多的介绍了,GitHub链接:https://github.com/gabime/spdlog。 先下载spdlog的源码,将源码的include文件夹复制到自己的项目文件夹下: 然后在项目属

    2024年02月11日
    浏览(28)
  • 【一个超简单的爬虫demo】探索新浪网:使用 Python 爬虫获取动态网页数据

    可以实战教爬虫吗,搭个环境尝试爬进去。尝试收集一些数据 一位粉丝想了解爬虫,我们今天从最基础的开始吧! 本文将介绍如何使用 Python 爬虫技术爬取新浪网首页的内容。新浪网作为一个内容丰富且更新频繁的新闻网站,是理解动态网页爬取的绝佳例子。 首先,确保你

    2024年02月04日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包