언어에 대해 별도의 웹 사이트를 사용해야하는 사용자 지정 스크래퍼를 사용합니다 (아키텍처 제한 사항). site1.co.uk, site1.es, site1.de 등과 마찬가지로MITMProxy : 스마트 URL 교체
과 같이 URL로 구분 된 여러 언어의 웹 사이트를 구문 분석해야합니다. 예를 들어 site2.com/en, site2.com/de, site2와 같이 URL로 구분 된 웹 사이트를 구문 분석해야합니다. co.kr/es 등등.
나는 MITMProxy에 대해 생각 :class MyMaster(flow.FlowMaster):
def handle_request(self, r):
url = r.get_url()
# replace URLs
if 'blabla' in url:
r.set_url(url.replace('something', 'another'))
그러나 대상 호스트가 생성 단순히 URL을 받아이를 다시 쓰는 작은 스크립트를 작성했습니다
en.site2.com/* --> site2.com/en
de.site2.com/* --> site2.com/de
...
: 나는 모든 요청이 방법을 리디렉션 수 301 웹 서버의 응답으로 리디렉션 - '페이지가 여기에 옮겨졌습니다'및 site2.com/en에 대한 링크
URL 재 작성으로 작업했을 때 작동했는데, 즉 site2.com/en-> site2.com/de. 그러나 다른 호스트 (정확하게 말하면 하위 도메인과 루트 도메인)에서는 작동하지 않습니다.
나는 위에서 handle_request 방법에 호스트 헤더를 교체하려고 :for key in r.headers.keys():
if key.lower() == 'host':
r.headers[key] = ['site2.com']
도 나는 추천자를 교체하려고 - 그 모두가 도움이되지 않았다.
마침내 하위 도메인의 요청을 기본 도메인으로 스푸핑 할 수 있습니까? HTTP (s) 클라이언트 경고가 생성되면 실제 브라우저가 아닌 스크래퍼 (및 경고가 해제 될 수 있음)에 필요하므로 괜찮습니다.
감사합니다.