2009-07-02 3 views
0

this question에서에 따라 ... 일부 프록시 정보를 얻을 수있는 PAC 파일을 구문 분석합니다. HTTP에서 다양한 리소스를 다운로드 할 수 있어야하며 "PAC"파일을 사용하여 HTTP 프록시를 자동으로 선택하는 모든 사무실 위치에서 작동해야합니다. 문제나는 그냥 탐색기

js = win32com.client.Dispatch('MSScriptControl.ScriptControl') 
js.Language = 'JavaScript' 
js.AddCode('function foo(a,b) {return a;}' ) 
result = js.Run("foo", "hello") 

을하지만, 여기에 온다 :

PAC 파일 내 이전 질문에 응답 누군가에

덕분에 내가 파이썬 내에서 자바 스크립트를 실행하는 방법을 찾기 위해 관리, 정말 쉽게 shExpMatchisPlainHostName과 같은 여러 함수를 참조합니다. 이들은 Microsoft Internet Explorer에서 무료로 제공됩니다. 위의 래서 피를 사용하여 Widnows Scripting에서 PAC 파일을 단순히 실행하면 이러한 기능이 없기 때문에 실패합니다.

그래서 내가 필요한 것은 IE가하는 것과 정확히 같은 방식으로 환경을 설정하는 방법입니다. 분명한 방법은 IE와 같은 방식으로 함수를 가져 오는 것입니다.

Firefox에 이러한 기능이 포함 된 단일 JS 파일이 포함되어있는 것으로 확인되었습니다. Microsoft의 스크립팅 호스트에서 Firefox의 JS를 실행하려고 할 수도 있지만 위험한 아이디어처럼 들릴 수 있습니다. 내가 정말로 원하는 것은 자바 스크립트 환경을 내 인생을 더 어렵게 만들 수있는 100 % Microsoft 표준으로 만드는 것입니다.

제안 사항?

추신. example of a PAC file on Wikipedia을 볼 수 있습니다. 불행히도 나는 우리의 것을 공개 할 수 없다. 그것은 회사의 안전을 침해 할 것이다.

답변

1

원격 호스트에서 PAC 파일을 다운로드 할 수 있습니까? 일반적으로 파이썬에서 urllib은 레지스트리에서 검색된 프록시에 정적 정보를 사용하기 때문에 묻습니다.
그러나 그 파일을 가져올 수 있다면 다른 파일을 가져올 수 있다고 생각합니다. 그런 다음 FF 버전 사용에 대한 아이디어는 시작될 수 있습니다.

+0

예, 다운로드 할 수 있습니다. 그것은 쉬운 부분입니다. Win32Com을 통해 Windows Scripting 호스트로 푸시 할 수도 있습니다. 문제는 Microsoft의 표준 PAC 기능 구현이 없기 때문에 실행되지 않는다는 것입니다. –

+0

그래서 다운로드하거나 푸시 할 수 있다면 파일의 다른 버전을 다운로드/푸시 할 수 있습니다. shExpMatch와 같은 기능이 이미 정의되어 있습니다 (FF와 마찬가지로). 이런 식으로, 당신은 완전히 날려 IE 환경 없이도 PAC를 평가할 수 있습니다. –

+0

정확히 그렇기 때문에 Microsoft의 이러한 기능 구현을 찾아야합니다. Mozilla 구현을 볼 수 있습니다.이 파일은 JS 파일에 있습니다. 하지만 가능한 한 MS 표준에 근접해야합니다. –