Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 通过URL发送数据但不显示_Python - Fatal编程技术网

Python 通过URL发送数据但不显示

Python 通过URL发送数据但不显示,python,Python,我有3个脚本:htmlTemplate.py、info.py和hello\u get.py 以下是他们的代码: htmlTempate.py: 您好(u get.py): 当我像这样执行info.py时: ./info.py server software version install_path file:///cgi/hello_get.py?nom=henry&mail=henry%40gmail.com&departement=IT&projet=stab 它

我有3个脚本:htmlTemplate.py、info.py和hello\u get.py

以下是他们的代码:

htmlTempate.py:

您好(u get.py):

当我像这样执行info.py时:

./info.py server software version install_path
file:///cgi/hello_get.py?nom=henry&mail=henry%40gmail.com&departement=IT&projet=stab
它打开我的webbrowser并显示数据:OK

Buit当我在OK按钮上键入时,它会打开一个新的网页正常url包含由OK get方法按钮支持发送的数据,如下所示:

./info.py server software version install_path
file:///cgi/hello_get.py?nom=henry&mail=henry%40gmail.com&departement=IT&projet=stab
但网络浏览器显示:

Firefox can not find the file at / cgi / hello_get.py? Henry & name = & email = henry@gmail.com department = IT & project = stab.
错误不应该很有名,但我查看了我的代码。

保存:

import sys, json 

config_file = open("config.txt", "w") 
json.dump(sys.argv, config_file)
负载:

编辑:

/cgi/info.py

/cgi/htmlTemplate.phtml

我只有html和变量名,所以我称之为pythonhtml


它将在浏览器中以本地文件的形式打开此文件。因此,所有链接都被视为指向本地文件的链接——因此它尝试将本地文件/cgi/hello_get.py作为普通文件打开,而不是作为web url或python脚本打开。我想您需要web服务器。是的,文件位于/cgi中,在我使用另一个带有OK按钮的脚本之前,我更改了脚本和他的代码,它工作了…似乎Firefox需要全名为/cgi/hello\u get.py?Henry&name=&email的文件=henry@gmail.com&department=IT&project=stabAnd,因为您不使用webserver,Firefox会将该文件视为纯文本文件或纯HTML文件。Firefox无法在该文件中运行python代码。是的,你是对的,但是python脚本是hmtl代码,而其他脚本可以工作……这是两个新文件?我不明白它们的用处。在info.py中,您必须使用服务器软件版本安装路径保存sys.argv。在help_get.py中,您必须读取该文件才能获得该值。导入信息时,sys.argv为空,因此安装路径也将为空。是否要导入信息中的这两个文件?你能恢复每个重要脚本的所有代码吗?你能在你的info.py中的新代码行中添加注释吗?我测试了你的代码,但我不理解你的修改,当我执行时:./info.py server Eclipse 7.8 C:/bla/bli/blo Linux H1054我没有错误,但webbrowser没有打开任何网页。。。您在info.py中添加了用户操作系统,用户登录,但这些信息无法在web应用程序客户端恢复,您知道吗?
Firefox can not find the file at / cgi / hello_get.py? Henry & name = & email = henry@gmail.com department = IT & project = stab.
import sys, json 

config_file = open("config.txt", "w") 
json.dump(sys.argv, config_file)
 import json

 config_file = open("config.txt", "r") 
 my_argv = json.load(config_file) 

 print my_argv
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import os
import sys
import platform
import getpass
import tempfile
import webbrowser
import string
import json 

def main( server_IP, code_name, code_version, install_path, user_os, user_login):

    template = open('htmlTemplate.phtml').read()

    contenu = string.Template(template).substitute(
            code_name = code_name,
            code_version = code_version,
            install_path = install_path,
            os = user_os,
            user_name = user_login
        )

    f = tempfile.NamedTemporaryFile(prefix='/tmp/info.html.', mode='w', delete=False)
    f.write(contenu)
    f.close()

    webbrowser.open(f.name)

if __name__ == "__main__":
    server_IP = sys.argv[1]
    code_name = sys.argv[2]
    code_version = sys.argv[3]
    install_path = sys.argv[4]

    user_os = sys.platform
    sys.argv.append(user_os)

    user_login = getpass.getuser()  
    sys.argv.append(user_login)

    config_file = open("config.txt", "w") 
    json.dump(sys.argv, config_file)

    main(server_IP, code_name, code_version, install_path, user_os, user_login)
<html>

<head>
    <title>- Project -</title>
</head>

<body>

<h2><center> welcome </center></h2>
<br/><br/><br/>

Application: ${code_name}<br/><br/>

code: ${code_version}<br/><br/>

path install: ${install_path}<br/><br/>

os: ${os}<br/><br/>

unix user: ${user_name}<br/><br/>

<form name="sendData" method="get" action="http://localhost:8000/cgi/hello_get.py">
    Nom: <input type="text" name="nom"><br/><br/>
    mail: <input type="text" name="mail"/><br/><br/>
    D&eacutepartement: <input type="text" name="department"/><br/><br/>
    Projet: <input type="text" name="project"/> <br/><br/>
    <input type="submit" value="OK"/>
</form>

</body>

</html>
#!/usr/bin/python
# -*- coding: utf-8 -*-

import cgi
import cgitb
import os
import sys
import socket
import getpass
import platform

import json

config_file = open("cgi/config.txt", "r") 
my_argv = json.load(config_file) 

form = cgi.FieldStorage() 

machine = cgi.escape(os.environ["REMOTE_ADDR"]) 

nom = form.getvalue('nom')
mail = form.getvalue('mail')
department = form.getvalue('department')  
project = form.getvalue('project')

print "Content-type:text/html\n\n"
print "<!DOCTYPE html>"
print "<html>"
print "<head>"
print "<title>User data</title>"
print "</head>"
print "<body>"
print "<h2><center> Resume </center></h2><br/><br/><br/>"
print "Your data : "
print "install path is : ", my_argv[4]
print "<br/><br/>"
print "OS is :", my_argv[5]
print "<br/><br/>"
print "adress IP is : ", machine
print "<br/><br/>"
print 'Unix user is : ', my_argv[6]
print "<br/><br/>"
print "your name is :", nom
print "<br/><br/>" 
print "your mail is :", mail
print "<br/><br/>"
print "your department is :", department
print "<br/><br/>"
print "your project is :", project
print "</body>"
print "</html>"
#!/usr/bin/env python 

import BaseHTTPServer 
import CGIHTTPServer 
import cgitb; cgitb.enable() 

server = BaseHTTPServer.HTTPServer 
handler = CGIHTTPServer.CGIHTTPRequestHandler 

server_address = ("", 8000) 
handler.cgi_directories = ["/cgi"] 
httpd = server(server_address, handler) 
httpd.serve_forever()