2016-08-30 2 views
1

현재 http 서버에서 파이썬으로 작업하고 있습니다. get/post 요청을 처리하기 위해 BaseHttpRequestHandler를 서브 클래 싱했습니다. 문서에 따라, BaseHttpRequestHandler는 인스턴스 변수 경로를 가지고 있지만, 내가 어떻게 전체 요청 URL파이썬에서 절대 URL을 얻는 방법

http://www.cnn.com/index.html

Class handler(BaseHTTPRequestHandler): 
    def do_GET(self): 
     # This gives me /index.html 
     print self.path 

을받을 수 있나요하지만 전체 URL을 얻을 수있는 방법은 무엇입니까?

+0

도메인 이름에 경로를 추가 할 수 있습니까? –

답변

1

self.server.server_nameself.server.server_port을 통해 서버 이름 (및 서버가 특정 포트에있는 경우 포트)을 가져올 수 있습니다. 당신이없는 경우

full_url = ''.join([name, ':', port, '/', path]) 

: 당신은 포트가 가정, 서버 이름 뒤에 '/'(순간에 자신을 확인할 수 없습니다)를 포함하지 않습니다 - 그럼 그냥 그들을 연결하여 지정된 포트 : 두 경우 모두

full_url = '/'.join([name, path]) 

, path는 self.path이며, nameport은 상단에 설명되어 있습니다.

관련 문제