在Python中获取HTTP GET变量 [英] Fetching HTTP GET variables in Python

查看:117
本文介绍了在Python中获取HTTP GET变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我试图在Python脚本中设置HTTP服务器。到目前为止,我有自己的服务器工作,与类似于下面的代码,从 。此处

I'm trying to set up a HTTP server in a Python script. So far I got the server it self to work, with a code similar to the below, from here.

from BaseHTTPServer import BaseHTTPRequestHandler, HTTPServer

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        print("Just received a GET request")
        self.send_response(200)
        self.send_header("Content-type", "text/html")
        self.end_headers()

        self.wfile.write('Hello world')

        return

    def log_request(self, code=None, size=None):
        print('Request')

    def log_message(self, format, *args):
        print('Message')

if __name__ == "__main__":
    try:
        server = HTTPServer(('localhost', 80), MyHandler)
        print('Started http server')
        server.serve_forever()
    except KeyboardInterrupt:
        print('^C received, shutting down server')
        server.socket.close()

但是,我需要从GET请求获取变量,因此如果请求 server.py?var1=hi ,我需要Python将> var1 放入Python变量并处理它(如打印它)的代码。我会怎么做呢?对你来说Python可能是一个简单的问题,但是这个Python初学者不知道该怎么做!提前致谢!

However, I need to get variables from the GET request, so if server.py?var1=hi is requested, I need the Python code to put var1 into a Python variable and process it (like print it). How would I go about this? Might be a simple question to you Python pros, but this Python beginner doesn't know what to do! Thanks in advance!

推荐答案

urlparse.parse_qs() $ b

urlparse.parse_qs()

print urlparse.parse_qs(os.environ['QUERY_STRING'])

或者,如果你关心的顺序或重复, urlparse.parse_qsl ()

Or if you care about order or duplicates, urlparse.parse_qsl().

导入Python 3: 来自urllib。解析导入urlparse

这篇关于在Python中获取HTTP GET变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆