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'>

 
复制代码

 

posted on   思此狂  阅读(538)  评论(0编辑  收藏  举报

编辑推荐:
· 基于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保姆级教程

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示