python-http-server
# -*- coding: UTF-8 -*- import time import os import sys import urllib from BaseHTTPServer import (HTTPServer, BaseHTTPRequestHandler) def close_std_fd(): f = open(os.devnull, 'w') sys.stdin = f sys.stdout = f sys.stderr = f def daemon(func): pid = os.fork() if pid > 0: return os.setsid() pid = os.fork() if pid > 0: return os.chdir('/') os.umask(0) close_std_fd() func() class MyHandler(BaseHTTPRequestHandler): def do_response(self): print(self.request) print("request path is %s" % self.path) # print("request from ip is %s" % self.client_address[0]) url_path,url_pargs = urllib.splitquery(self.path) print("request url path is %s" %url_path) print("request pargs is %s" %url_pargs) self.send_response(200) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write("<h1>Device Static Content</h1>") return def do_GET(self): self.do_response() def do_POST(self): datas = self.rfile.read(int(self.headers['content-length'])) print("post data is %s" %datas) print("post data type is %s" %type(datas)) self.send_response(200) self.send_header('Content-type','text/html') self.end_headers() self.wfile.write("<h1>Device Static Content</h1>") def run_server(): server_address = ("", 99) server = HTTPServer(server_address, MyHandler) sa = server.socket.getsockname() print("sa is below") print(sa) print("Serving on %s using port %s ..." %(sa[0], sa[1])) server.serve_forever() if __name__ == '__main__': if "-d" in sys.argv: daemon(run_server) else: run_server()
client-get
import requests import json val = { "name": "adminw", "passwd": "123456" } res = requests.get("http://127.0.0.1:99/abc",params=val,timeout=2) print res.text
对应的 server
path: request url path is /abc
request pargs is passwd=123456&name=adminw
client-post
import requests import json val = { "name": "adminw", "passwd": "123456" } res = requests.post("http://127.0.0.1:99/abc",data=json.dumps(val),timeout=2) print res.text
对应的server
post data is {"passwd": "123456", "name": "adminw"}
post data type is <type 'str'>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程