Python CGI服务HTML不呈现

Python CGI服务HTML不呈现,python,html,cgi,Python,Html,Cgi,我有一个CGI python程序,将HTML作为内容而不是URL。流程是: 1. open http://jioworld.jioconnect.com/cgi-bin/loginpp.py 2. you get HTML form (since you have not yet login) 3. enter some dummy user and password and submit 4. you stay on same page after submit even though res

我有一个CGI python程序,将HTML作为内容而不是URL。流程是:

1. open http://jioworld.jioconnect.com/cgi-bin/loginpp.py
2. you get HTML form (since you have not yet login)
3. enter some dummy user and password and submit
4. you stay on same page after submit even though response html is served. So the page (response) is not rendered by browser but cookie is set
5. reload the page (hit refresh/reload)
6. page is rendered
我的问题是:为什么在步骤4中不呈现页面,而在重新加载时,它在步骤6中呈现

我希望第4步呈现页面

我已经尝试过使用相对的、绝对的URL作为所有链接,比如样式表、javascript、图像等。但是似乎只有绝对的URL比其他的更有效。这也是一个问题,因为我还尝试将html的基本标记设置为/,但它不起作用。图像等解析为cgi bin/images,而不是/images。所以我将所有的基本URL设置为绝对可能导致基本标签被忽略。这样,我就为主机设置了基本标签和完整的URL

图像等解析为cgi bin/images,而不是/images

这很容易解决。当服务器运行脚本时,它会将脚本的当前工作目录CWD设置为cgi bin。我相信服务器这样做是一种常见的约定,尽管我怀疑有一个Apache配置可以改变它

我已经有几年没有使用Apache了,所以我有点生疏了,但我偶尔会使用一些基本的Web服务器。其中一台服务器在cgi bin中启动脚本,另一台在服务器的CWD中启动脚本,因此我将其放在cgi脚本中:

#Change to parent dir if we're in cgi-bin,
if os.path.basename(os.getcwd()) == 'cgi-bin':
    os.chdir('../')  
但我不知道如何通过清单中的第4步来解决您的问题

通常情况下,你会发送一些这样的内容

%href

到浏览器,其中url是页面的url。但我不知道这对你是否有效

如果我们能看到您的CGI脚本,或者至少是说明问题的简化版本,也许会有所帮助