Python BaseHTTPServer,从POST单值中提取变量

Python BaseHTTPServer,从POST单值中提取变量,python,bash,post,basehttpserver,Python,Bash,Post,Basehttpserver,我想知道如何获得变量表单内容发布的html表单,位于一个外部服务器 我有以下代码: myserver.py 它当前在控制台上打印此文件 user=jhon&domain=domain.com&pass=mypassword 我需要提取每个变量并使用它们调用后续的bash脚本 我想要完成的示例: 感谢您的评论和帮助。通过添加一些代码解决了您好问题,一个只为我服务一次的代码,在变量被传递回不再起作用之后,我想这就是我的顺序 #cat server.py import BaseH

我想知道如何获得变量表单内容发布的html表单,位于一个外部服务器

我有以下代码:

myserver.py

它当前在控制台上打印此文件

user=jhon&domain=domain.com&pass=mypassword
我需要提取每个变量并使用它们调用后续的bash脚本

我想要完成的示例:


感谢您的评论和帮助。

通过添加一些代码解决了您好问题,一个只为我服务一次的代码,在变量被传递回不再起作用之后,我想这就是我的顺序

#cat server.py
import BaseHTTPServer
import urlparse
import os

HOST_NAME = ''
PORT_NUMBER=8000

postVars = ''

class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):

    def do_POST(s):
        global postVars
        s.send_response(200)
        s.end_headers()
        varLen = int(s.headers['Content-Length'])
        postVars = s.rfile.read(varLen)
        #print postVars

server_class = BaseHTTPServer.HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)

try:
    httpd.handle_request()
except KeyboardInterrupt:
    pass

#print postVars

qs = dict( (k, v if len(v)>1 else v[0] )
           for k, v in urlparse.parse_qs(postVars).iteritems() )
#print qs

pase = qs['pass']
dominio = qs['domain']
usuario = qs['user']

os.system("./createuser.sh %s %s %s" % (pass,user,domain))
httpd.serve_forever()
多谢各位 这创造了奇迹

qs = dict( (k, v if len(v)>1 else v[0] )
           for k, v in urlparse.parse_qs(postVars).iteritems() )

可能的副本,所以得到,我很感兴趣的职位,但非常感谢您的帮助
#cat server.py
import BaseHTTPServer
import urlparse
import os

HOST_NAME = ''
PORT_NUMBER=8000

postVars = ''

class MyHandler(BaseHTTPServer.BaseHTTPRequestHandler):

    def do_POST(s):
        global postVars
        s.send_response(200)
        s.end_headers()
        varLen = int(s.headers['Content-Length'])
        postVars = s.rfile.read(varLen)
        #print postVars

server_class = BaseHTTPServer.HTTPServer
httpd = server_class((HOST_NAME, PORT_NUMBER), MyHandler)

try:
    httpd.handle_request()
except KeyboardInterrupt:
    pass

#print postVars

qs = dict( (k, v if len(v)>1 else v[0] )
           for k, v in urlparse.parse_qs(postVars).iteritems() )
#print qs

pase = qs['pass']
dominio = qs['domain']
usuario = qs['user']

os.system("./createuser.sh %s %s %s" % (pass,user,domain))
httpd.serve_forever()
qs = dict( (k, v if len(v)>1 else v[0] )
           for k, v in urlparse.parse_qs(postVars).iteritems() )