如何将命令行参数传递给从 XMLHTTPRequest 调用的 python 程序

问题描述 投票:0回答:1

我正在尝试(未成功)将命令行参数传递给由 javascript XMLHTTPRequest 调用的 python 程序。 在我的 python 程序中,我使用了

sys.argv
getopt
argparse
,所有这些都在从命令行运行时有效,但在从 Javascript 脚本调用时无效。 在我的 Javascript 程序中我尝试过:

xhr.open('GET', 'https://solarpredictor.co.uk/test.py?solcast&full&graph', true);
xhr.open('GET', 'https://solarpredictor.co.uk/test.py?s=solcast&f=full&g=graph', true);

xhr.open('GET', 'https://solarpredictor.co.uk/test.py?solcast', true);

这些都不起作用。 在每种情况下,py 程序都找不到参数。

如何让 python 程序在 XMLHTTPRequest 中调用时检索参数?

不管怎样,这是我的Python程序:

#!/usr/bin/python3

import sys

solcast = False
full = False
graph = True

print("len = ",len(sys.argv))
for x in range(1,len(sys.argv)):
    param = sys.argv[x]
    print(param)
    if param == 'solcast':
        solcast = not solcast
    elif param == 'full':
        full = not full
    elif param == 'graph':
        graph = not graph

print(solcast,full,graph)
javascript python-3.x xmlhttprequest
1个回答
0
投票

您不传递命令行参数。您没有在命令行上运行脚本。

您可以通过某种方式将 HTTP 服务器与 Python 代码连接起来。上次我研究 Python 时,通常认为最好的方法是 WSGI,但也可以使用其他方法,例如 mod_python 和 CGI。 (您的评论表明您正在使用 CGI)。

这些接口的通用 Python 库具有从请求 URL 读取查询字符串的功能。

© www.soinside.com 2019 - 2024. All rights reserved.