Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/305.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/8/logging/2.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 cgi文件中输出日志信息?_Python_Logging_Proxy_Cgi - Fatal编程技术网

如何在python cgi文件中输出日志信息?

如何在python cgi文件中输出日志信息?,python,logging,proxy,cgi,Python,Logging,Proxy,Cgi,我使用cgi(python)作为代理来解决ajax请求的跨域问题。我想记录每个请求的一些关键信息,例如url,并将这些信息保存到服务器上的文件中。我该怎么办?我尝试了python日志记录模块或文件I/O模块,这两个模块在这种环境中似乎都不起作用 #!C:/Python25/python.exe -u import urllib2 import cgi import sys, os f = open("./proxy.txt","a") method = os.environ["REQUES

我使用cgi(python)作为代理来解决ajax请求的跨域问题。我想记录每个请求的一些关键信息,例如url,并将这些信息保存到服务器上的文件中。我该怎么办?我尝试了python日志记录模块或文件I/O模块,这两个模块在这种环境中似乎都不起作用

#!C:/Python25/python.exe -u

import urllib2
import cgi
import sys, os

f = open("./proxy.txt","a")

method = os.environ["REQUEST_METHOD"]
f.write(method + "\n")
if method == "POST":
    qs = os.environ["QUERY_STRING"]
    d = cgi.parse_qs(qs)
    if d.has_key("url"):
        url = d["url"][0]

else:
    fs = cgi.FieldStorage()
    url = fs.getvalue('url')

try:
    y = urllib2.urlopen(url)
f.write(url + "\n")
f.close()
except Exception, E:
    print "Status: 500 Unexpected Error"
    print "Content-Type: text/plain"
    print 
    print "Some unexpected error occurred. Error text was:", E

从客户端发出请求后,proxy.txt文件仍然为空…

这可能是使用相对路径和文件权限的组合

尝试更改此行:

f = open("./proxy.txt","a")
到绝对路径,例如

f = open("C:\Users\foo\Desktop\proxy.txt","a")

确保运行cgi脚本的有效用户有权写入您选择的绝对路径…

这可能是使用相对路径和文件权限的组合

尝试更改此行:

f = open("./proxy.txt","a")
到绝对路径,例如

f = open("C:\Users\foo\Desktop\proxy.txt","a")

确保运行cgi脚本的有效用户有权写入您选择的绝对路径…

您得到的确切错误是什么?我尝试了文件i/O库和日志模块,没有得到任何错误,但也无法使日志文件获得任何内容…然后请使用日志模块显示示例代码(例如),允许有效诊断问题。您得到的确切错误是什么?我尝试了文件i/O库和日志模块,没有得到任何错误,但也无法使日志文件获得任何内容…然后请显示使用日志模块的示例代码(例如),以允许有效诊断问题。感谢您的回复。在权限方面,由于这是一个浏览器请求,应用程序如何确定此浏览器请求是否具有权限?应用程序必须作为一个或另一个有效用户运行。该用户需要能够写入输出文件。感谢您的回复。在权限方面,由于这是一个浏览器请求,应用程序如何确定此浏览器请求是否具有权限?应用程序必须作为一个或另一个有效用户运行。该用户需要能够写入输出文件。