링크 목록이 포함 된 웹 페이지를 생성하는 간단한 파이썬 모듈이 있습니다. 이 페이지는 브라우저에 자동으로 열립니다 webbrowser.open('file://' + file.name)
: 여기에는 문제가 없습니다.
이 웹 페이지에서 링크 (href가 http://localhost/cgi-bin/script.py?param1=Something
인 링크)를 클릭하면 전달 된 값으로 일부 작업을 수행하고 내 컴퓨터에 로컬로 저장된 새 웹 페이지를 생성하는 cgi 스크립트가 실행됩니다 (예 : /home/user/web/out/
과 같은 경로)에서 모든 rwx 권한을 올바르게 설정 한 폴더에 저장하십시오.
음, 나는이 새로운 페이지를 브라우저에서 2 일 동안 자동으로 열어보고 문서 및 포럼을 통해 검색 한 모든 솔루션을 시도했습니다. webbrowser.open()
으로 다시 시도했지만 웹 서버에서 새 브라우저 창을 열 수 없기 때문에 사용할 수 없다는 것을 깨달았습니다. 그럼, 리디렉션 시도 먼저 헤더 (print "Content-type: text/html\n\n"
) 다음Python cgi 스크립트가 로컬 디렉토리에서 html 파일을 열지 않습니다.
print "Status: 302 Moved"
print "Location: file:///home/user/web/out/abc.html\n\n"`
를 인쇄하지만 이것은 단지 일반 빈 페이지를 보여줍니다. 내가 성공하지 않고, 심지어 새 페이지의 개통을 트리거하는 POST
방법으로 버튼을 삽입 시도
print "<meta http-equiv='refresh' content='0' url='file:///home/user/web/out/abc.html'>"
print "<script type="text/javascript">location.href='file:///home/user/web/out/abc.html';</script>"
print "<script type="text/javascript">windows.open('file:///home/user/web/out/abc.html');</script>"
같은 다른 리디렉션 솔루션 시도했다 : 나는 일반 빈 페이지가 계속.
브라우저에서이 abc.html
페이지를 수동으로 열면 제대로 표시됩니다.
나는 이것이 웹 서버에서 열어 놓은 html 페이지가 로컬에 저장된다는 사실과 관련이 있다고 생각하지만이 문제를 해결하는 방법을 모르겠습니다. 누군가 올바른 방향으로 나를 가리킬 수 있습니까?
저는 추측하고 있지만 로컬 파일로 리디렉션 할 수 있다면 웹 사이트를 호스팅하는 모든 사람이 컴퓨터의 모든 콘텐츠를 읽을 수 있습니다. 따라서 웹 사이트에서 로컬 파일로 리디렉션 할 수는 없습니다. 그러나 서버로 로컬 파일을 열고 내용을 제공 할 수 있습니다. – User
@User Uhm ... '콘텐츠 제공'이란 무엇입니까? 실제로 새 웹 페이지를'cgi-bin/out/abc.html'에서 열어 썼습니다. 그러나 여전히 스크립트를 열거 나 리디렉션하지 않습니다. – Faabiioo
CGI 스크립트가 리디렉션 할 수 없습니다. 기억해. 'http.server'에서'self.send_response (200, "스크립트 출력은"다음 ")입니다. – User