问候所有人,
我有一个使用
的python CGI脚本print "Location: [nextfilename]"
print
在“转发”之后(引用的原因在一秒内显而易见),我看到它转发的页面的HTML很好,但是没有显示所有图像等。地址栏仍然将cgi脚本显示为当前位置,而不是HTML文件本身。如果我直接转到HTML文件,它显示正常。
基本上,CGI脚本存储在cgi-bin中,而HTML文件则不是,它试图渲染具有被破坏的关系链接的图像。
我如何实际转发到下一页,而不只是通过cgi脚本呈现下一页?
我已经使用细齿梳子完成了脚本,以确保我实际上并没有使用打印htmlDoc命令来阻止和搞砸它。
适用的代码部分:
def get_nextStepName():
"""Generates a random filename."""
nextStepBuilder = ["../htdocs/bcc/"]
fileLength = random.randrange(10)+5
for i in range(fileLength):
j = random.choice(varLists.ALPHANUM)
nextStepBuilder.append(j)
nextStepName = ""
for char in nextStepBuilder:
nextStepName += char
nextStepName += ".html"
return nextStepName
def make_step2(user, password, email, headerContent, mainContent, sideSetup, sideContent, footerContent):
"""Creates the next step of user registration and logs valid data to a pickle for later confirmation."""
nextStepName = get_nextStepName()
mainContent = "<h1>Step Two: The Nitty Gritty</h1>"
mainContent += "<p>User Name: %s </p>" % (user)
mainContent += """\
[HTML CODE GOES HERE]
"""
htmlDoc = htmlGlue.glue(headerContent, mainContent, sideSetup, sideContent, footerContent)
f = open(nextStepName, "w")
f.write(htmlDoc)
f.close()
nextStepName = nextStepName[9:] #truncates the ../htdocs part of the filename to fix a relational link issue when redirecting
gotoNext(nextStepName)
def gotoNext(filename):
nextLocation = "Location:"
nextLocation += filename
print(nextLocation)
print
有什么想法?万分感谢。 CGI对我来说是新的。
答案 0 :(得分:2)
您还需要发送30X Status
标头。有关详细信息,请参阅RFC 2616。