2009-06-12 2 views
4

다른 서버에 있지만 문서 전체에 "localhost"라는 하드 코드가있는 WSDL 파일을 구문 분석하려고합니다.webproxy (예 : fiddler)를 사용하여 URL을 다른 URL로 리디렉션 할 수 있습니까?

내가 가져올 때 분명히 프로그램이 내 컴퓨터에서 아무것도 실행되지 않으므로 "연결이 거부되었습니다"라는 메시지가 표시됩니다.

제 질문은 : webproxy (예 : fiddler)를 사용하여 localhost 요청을 다른 서버로 리디렉션하여 WSDL 참조가 완료 될 수 있습니까?

: -/

감사

추신 나는 항상 리모컨 "wsdl"을 고칠 수 있었지만 다음 주까지 책임자가 여기에있을 것이며 오늘부터 일하고 싶습니다.

답변

5

Fiddler를 컴퓨터의 프록시로 사용하고 WSDL을 다시 작성하여 localhost를 올바른 컴퓨터 이름으로 변경할 수 있습니다.

FiddlerScript CookBook에는 이러한 종류의 스크립트를 작성하는 방법에 대한 예제가 있습니다. 해당 페이지로 이동하여 "모든 DIV 태그 제거 (및 DIV 태그 내의 내용 제거)"를 검색하십시오. localhost와 일치하는 정규 표현식을 변경하고 사용할 머신 이름으로 바꾸기를 설정하십시오.

1

시스템에 SSH 액세스 권한이있는 경우 SSH 포트 전달을 사용하여이를 수행 할 수 있어야합니다. Windows (C# 태그 기반)를 사용하고 있다고 가정하기 때문에 Putty를 여기에 설명 된대로 사용할 수 있습니다 : Using port forwarding with PuTTY. 이 지침에 따라 "localhost"의 원하는 포트를 WSDL을 제공하는 서버로 전달하십시오. WSDL에 포트 80에 게재 된 경우

ssh -L PORTYOUWILLUSE:localhost:PORTONSERVER [email protected] 

예를 들어, 당신이 할 수 있습니다 : 당신이 * nix에서 스크립트 기반 기계 또는 Mac에서라면

또는, w 다음 명령/SSH를 사용 당신이 (방법 중 하나를 사용)에 로그인 한 후

ssh -L 80:localhost:80 [email protected] 

, 모든 요청은 서버로 라우팅됩니다 포트 80에서 로컬 호스트합니다.

0

WSDL을 구문 분석하는 동안 몇 분 동안 만 변경하려는 경우 HOST 파일을 변경하고 "localhost"를 원격 IP 주소로 지정할 수 있습니다. hosts 파일은 Windows VISTA/XP의 "C : \ Windows \ System32 \ drivers \ etc"에 있습니다.

0

이것을 달성 할 수있는 몇 가지 방법이 있지만 장기적인 솔루션으로는 특히 강력한 것은 없습니다.하지만 개발자가 돌아올 때까지는 일시적인 것을 원한다고 말합니다.

도메인과 일치하는 항목이 모두있는 경우 (원격 URL이 localhost와 동일한 경우) 호스트 파일에서 localhost 항목을 편집 할 수 있습니다.

system32 \ drivers \ etc에서 "hosts"파일을 바탕 화면에 복사하십시오. 메모장에서 열고이 줄을 변경하십시오.

127.0.0.1 localhost 

IP 주소 (127.0.0.1)를 원격 도메인으로 변경하십시오. 그런 다음 hosts 파일을 etc 디렉토리에 복사하십시오. (참고 :이 파일을 관리자 또는 다른 사람으로 직접 편집 할 수는 없습니다.)

원격 웹 서비스에 도메인이 여러 개있는 경우 IIS에서 "localhost"요청을 처리하도록 웹 사이트를 변경해야합니다. 약간 이상하게 보일 수 있지만 컴퓨터가 서버의 IP 주소로 요청을 보내지 만 요청 도메인은 "localhost"로 지정하십시오. IIS에서 웹 사이트를 마우스 오른쪽 단추로 클릭하고 속성을 선택한 다음 해당 웹 사이트에서 지원하는 HTTP 헤더 값 목록에 도메인 "localhost"를 추가합니다. IP 주소를 통해 IIS에 액세스하면 IIS의 웹 사이트가 콘텐츠를 제공 할 경우이 모든 것을 무시할 수 있습니다.하나의 IP 주소가 여러 웹 사이트 (일반적으로)간에 공유되는 경우 "localhost"를 검색하려고 시도 할 때 IIS에서 "잘못된 호스트 이름"오류가 발생하고 어떤 웹 사이트를 직접 찾을 수 없는지 알 수 없습니다 에 대한 요청.

또 다른 가능성은 Proxomitron이라는 개인 프록시 서버를 사용하는 것입니다. 조금 오래되었지만 더 이상 개발되지는 않았지만 설치가 쉽고 매우 견고합니다.

설치가 끝나면 열어서 "구성"을 클릭하십시오. 수신 대기 포트를 80으로 변경하십시오. 다음으로 리디렉션 규칙을 만들어야합니다 (사실 리다이렉트는 아니지만 더 많은 URL 재 작성이 필요합니다).). 자신의 리디렉션을 추가하는 방법을 이해하려면 docs을 빨리 읽어야하지만 앱과 함께 제공되는 샘플은 많습니다. 찾고있는 규칙은 RDIR입니다 :

$ RDIR() 브라우저를 알리지 않고 Proxomitron에서 더 이상 연결되지 않고 리디렉션됩니다. 이것은 실제로 브라우저가 한 곳으로 가고 있다고 생각하게 만들 때 유용합니다.

+0

주의 : 호스트 파일에서 "localhost"를 변경하면 많은 응용 프로그램에서 127.0.0.1 == localhost로 간주되므로 모든 종류의 이상한 오류가 발생하기 시작합니다. – Piskvor

관련 문제