Python之tcp server模拟Http通信

1.python tcp server代码:

复制代码
 1 import socket
 2 
 3 
 4 def main():
 5     tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 6     tcp_server_socket.bind(('', 6699))
 7     tcp_server_socket.listen(128)
 8 
 9     while True:
10         new_client_socket, new_client_addr = tcp_server_socket.accept()
11         # 接收浏览器请求
12         request = new_client_socket.recv(1024)
13         print(request)
14 
15         # 响应浏览器请求
16         # 为了兼容所有的浏览器约定浏览器中的换行为\r\n
17         respond = 'GET HTTP/1.1\r\n'
18         respond += '\r\n'
19         respond += '<h2>Hello Python</h2>'
20         new_client_socket.send(respond.encode('utf=8'))
21         new_client_socket.close()
22 
23     tcp_server_socket.close()
24 
25 
26 if __name__ == '__main__':
27     main()
复制代码

终端显示:

1 b'GET / HTTP/1.1\r\nHost: 127.0.0.1:6699\r\nUser-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:62.0) Gecko/20100101 Firefox/62.0\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: en-US,en;q=0.5\r\nAccept-Encoding: gzip, deflate\r\nConnection: keep-alive\r\nUpgrade-Insecure-Requests: 1\r\nCache-Control: max-age=0\r\n\r\n'

posted @   非法关键字  阅读(1905)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
点击右上角即可分享
微信分享提示