2
그래서 모든 URL을 "/ files"로 시작하고 싶습니다.비 기본 루트 트위스티드 HTTP
"localhost : 3000/files"에있는 루트 페이지는 공유 할 특정 폴더 목록을 반환합니다. 기본 공유는 공유 할 폴더를 제한하지 않습니다.
폴더로 이동할 때 폴더의 모든 파일을 표시하려고합니다. "localhost : 3000/files/Documents"와 같은 URL을 사용하십시오.
폴더의 특정 폴더와 파일을 재귀 적으로 공유하려고합니다. "localhost : 3000/files/Documents/Filename.pdf"와 같은 URL을 사용하십시오.
from twisted.web.server import Site from twisted.web.resource import Resource from twisted.web.static import File from twisted.internet import reactor folder_list = ["Documents", "Downloads"] class RootPage(Resource): isLeaf = True def render_GET(self, request): print request.uri new_request = request.uri[7:] if len(new_request) <= 3: ret = "" for folders in folder_list: ret += "<a href='%s'>%s</a></br>" % ("/files/" + folders.replace(" ", "-") , folders) return ret root = Resource() #folders root.putChild('files', RootPage()) for folders in folder_list: root.putChild(folders.replace(" ", "-"), File("/home/user1/" + folders)) factory = Site(root) reactor.listenTCP(3000, factory) reactor.run()
작품 완벽하게 감사합니다. – GeneralZero