我使用该命令恢复服务器的地址:socket.gethostbyname(socket.gethostname())
所以,在file1.py我有:
def main( server_IP, name, version, install_path):
template = open('html.py').read()
c = string.Template(template).substitute(
name = name,
version = version,
install_path = install_path,
os = user_os,
user_name = user_login,
server_IP = socket.gethostbyname(socket.gethostname())
)
html.py :中的
<form name="sendData" method="get" action="http://${server_IP}/cgi/scriptGet.py">
当我在自己的电脑上测试时,我有127.0.0.1/cgi .......(实际上: 显示此页面时连接失败。)
如何确保恢复服务器的地址?
服务器代码
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()
答案 0 :(得分:0)
关于你的问题:
代码完成了它所期望的。如果在家用机器上运行它,`socket.gethostname()'返回的主机名是'localhost'。并且'localhost'的IP总是'127.0.0.1'。
答案 1 :(得分:0)
如果连接失败,则服务器端必定存在错误。这意味着URL很好但是有些东西中断了,您应该在错误日志或启动服务器的终端中看到错误。