Ubuntu启一个http server,通过terminal测试通不通

方法一:用python脚本

cd ~/source

mkdir -p code/python

cd /code/python

touch http_server.py

sudo gedit http_server.py

粘入如下代码:

import socket

def start_server(host='192.168.111.128', port=12345):

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

server_socket.bind((host, port))

server_socket.listen(5)

print(f"Server listening on {host}:{port}")

while True:

client_socket, addr = server_socket.accept()

print(f"Received connection from {addr}")

接收数据并发送响应

data = client_socket.recv(1024).decode('utf-8')

if not data:

break

print(f"Received data: {data}")

response = f"Echo: {data}"

client_socket.sendall(response.encode('utf-8'))

client_socket.close()

if name == "main":

start_server()

保存

python3 http_server.py

开启http服务

在打开第2个terminal

curl 192.168.111.128:12345

第1个terminal将打印:

二、直接启:

第1个terminal:

python3 -m http.server 8000

第2个terminal:

curl 192.168.111.128:8000

若curl工具包没安装,则按:

sudo apt install curl

也可以用wget访问:

相关推荐
奇树谦28 分钟前
Seaweed中filer.sync原理
linux·服务器·网络
Huangjin007_30 分钟前
【Linux 系统篇(十六)】进程(四) : 僵尸进程、孤儿进程、进程优先级
linux·运维·服务器
cui_hao_nan35 分钟前
Git常用命令1
运维·git
瞬间&永恒~43 分钟前
【Kubernetes】(十五)维护与升级、ETCD 备份和恢复
linux·运维·docker·云原生·kubernetes
susplus1 小时前
【linux应用软件编程】进程间的通信方式2【网络通信从入门到UDP编程】
linux·udp·ip
MSTcheng.1 小时前
【Linux】Linux学习第三弹——Linux基本指令2
linux·windows·学习·ubuntu·操作系统
姚永强1 小时前
gitlab安装
运维·gitlab
希望奇迹很安静1 小时前
Linux基本使用命令
linux·运维·服务器
邪修king1 小时前
Re:Linux 系统篇(十七):进程篇(六):环境变量深度解析|命令行参数、环境变量表、4 种获取方式与继承机制万字详解
linux·服务器·c++
姚永强1 小时前
安装Jenkins
运维·jenkins