2014-02-05 2 views
0

토네이도 프록시 페이지를 만들고 싶습니다.토네이도 프록시 페이지 만들기

그래서 proxypage을 방문하면 google.com에서 콘텐츠를 가져옵니다.

나는 토네이도 웹 서버가 php를 지원하지 않는다는 것을 알아 내기 위해 PHP에서 작은 단순한 프록시 페이지를 만들었습니다. 그래서

<?php 
$file = file_get_contents($_GET['requrl']); 
echo $file; 
?> 

극단적으로는 아무것도 그가 더 나은 설명하는 코드를 PHP는 t에 여기 내가 찾고 있어요 것입니다.

json 응답을 제공하는 사이트에 아약스 요청을하고 있지만 특별한 이미지는 없습니다. 단지 json입니다. 하지만 Ajax는 도메인 간 요청 (동일 출처 정책)을 사용하지 않습니다. 사이트는 jsonp 또는 cors를 지원하지 않으므로 프록시 페이지가 유일한 방법입니다.

+0

사용중인 ajax 코드를 공유하십시오. –

+0

https://gist.github.com/binux/3663115 웹 프록시입니다. 나는 그것이 당신을 도울 수 있기를 바랍니다. –

답변

0

같은 것을 보이는 처리기 추가 :

(r"/", proxyHandler), 

및 핸들러 클래스 connection.request에서

class proxyHandler(RequestHandler): 
    def get(self): 
     connection = httplib.HTTPConnection("www.google.com") 
     connection.request('GET', '[uri]', '[body]', '[header]') 
     response = connection.getresponse() 

     if response.status !=200: 
      print response.status, response.reason 

     data = response.read() 
     connection.close() 

     try: 
      dataJSON = json.loads(data) 
      if DEBUG_HTTP: 
       printDoc(dataJSON, 'http response json') 

      return dataJSON 
     except Exception, e: 
      print 'data is of type, '+str(type(data))+', returning as is' 
      return data 

() 호출을 URI PARAM이 (''전달할 수 있습니다) 선택되지 않습니다, 본문과 헤더가 있습니다. 이것은 비동기식으로 수행 될 수도 있습니다.