2010-12-27 3 views
2

나는 다중 스레드 [workers] 응용 프로그램을 만들고 있습니다. 각 스레드는 웹 페이지로 이동하고 필드에 데이터를 쓰고 버튼을 클릭하는 자체 비 GUI 웹 브라우저를 가져야합니다. 나는 또한 각각의 WebBrowser가 자신의 프록시를 가질 필요가있다. 나는 고전적인 Windows.Forms.WebBrowser를 시도했지만, IE의 전역 설정에 의존하기 때문에 프록시 부분에 갇혀있다. 내 경우에는 작동하지 않는다. 모든 추천을 환영합니다.인스턴스 당 하나의 프록시를 허용하는 최상의 WebBrowser 컨트롤은 무엇입니까?

참고 : HttpWebRequest/Response를 통해 작업을 시도했지만 AB 테스트에 따라 값을 계산하는 자바 스크립트 코드에서 해당 값을 가져 오는 [ab_test_data]라는 필드가 페이지에 전달되는 데이터로 작동하지 않습니다. 나는 그것을 완전히 이해하지 못한다. 따라서 WebBrowser는 ab_test_data를 C# 코드로 변환하는 JavaScript 코드를 변환하는 방법을 누군가에게 알려주지 않는 한 최선의 해결책이 될 것입니다. 내가 액세스하려고하는 페이지에서 사용되는 알고리즘은 실제로 정교합니다.

note2 : ab_test_data 값은 httpWebRequest/Response에서 시뮬레이트 할 수없는 Window.Event 및 Timestamp에 따라 다릅니다.

note3 : Gecko를 사용해 봤지만, GeckoWebBrowser가 양식에 그려져 있지 않은 한 웹 페이지에는 아무 것도하지 않습니다. 모든 솔루션을 환영합니다.

편집 : 다른 언어 (어쩌면 자바)에서 원하는 것처럼 작동하는 웹 브라우저를 알고 있다면 알고 싶습니다.

미리 감사드립니다.

+0

이것은 매우 중요한 질문입니다. Chrome은 마침내 주목할만한 몇 가지 새로운 .NET 바인딩이 있음을 알게되었습니다. 질문 주셔서 감사합니다. 커뮤니티 위키 어쩌면? – Chad

+0

@Chad :이 질문은 ".NET 응용 프로그램에 포함 할 수있는 가장 좋은 브라우저는 무엇입니까?"라는 중요한 질문에 너무 전문화되어 있다고 생각합니다. GUI없이 브라우저를 마지막으로 사용한 것은 언제입니까? –

+0

@Cody Grey - 나는 그 질문을하기에 틀린 사람이다 :-) 나는 .NET 애플 리케이션을 실제로 개발하고 있으며 보이지 않는 WebBrowsers (IE)를 사용하고있다. 그것이 내가 WebBrowser/IE에 대한보다 빠른 대안을 찾고 있었기 때문에 그 첫 번째 질문에 나를 매료 시켰습니다. – Chad

답변

1

브라우저 (말) 창/탭마다 프록시를 허용하지 않는 이유를 궁금 도움이 될 수 있습니다 질문으로 사용 http://webkitdotnet.sourceforge.net/

+0

필드에 텍스트를 쓰고 보이지 않는 WebKit 브라우저에서 단추를 클릭 할 수 있습니까? 나는 그렇게 생각하지 않는다. – deadlock

+0

앞서 언급했듯이 각 브라우저마다 하나씩 많은 브라우저를 사용하기 때문에 브라우저가 보이지 않아야합니다. Windows.Forms.WebBrowser를 사용해 보았을 때 "new WebBrowser()"를 사용하여 개체를 만들었고 결코 폼에 그려지지 않았습니다. 나는 그런 식으로해야한다. – deadlock

+0

제 질문을 잘 읽어주십시오. HttpWebRequest를 사용할 수 있으면 좋겠지 만 ABTesting은 나를 그렇게 멀리하지 못하게합니다. 그가 제출하면 클라이언트 브라우저에서 생성되기 때문입니다. 그것은 심지어 Window.Event 및 브라우저없이 얻을 수없는 브라우저 타임 스탬프에 따라 다릅니다. HttpWebRequest는 그렇게 할 수 없습니다. – deadlock

1

? 개발 시간과 관련하여 유용성이 부족하기 때문에 그 중 많은 부분이 있다고 생각합니다.

아마도 브라우저가 웹 요청 및 캐시 등을위한 중앙 집중식 엔진을 가지고 있기 때문일 수도 있습니다 ... 아마도 창당 및/또는 탭 당 프록시를 허용하면 근본적으로 현대 브라우저의 디자인이 변경되고 성능에 부정적인 영향을 미칠 수 있습니다. 나는 정말로 모른다. 요점을 더 자세히 설명하려면 시크릿 모드 및 비공개 브라우징과 같은 기능을 고려해야합니다. 이 경우 브라우저는 적어도 개념적으로 창당 별도의 캐시를 만들었지 만 시크릿 창과 Chrome의 표준 창은 동일한 기본 웹 요청 엔진을 사용합니다.

지금 자바 스크립트 및 DOM 파서 및 인터프리터를 원하는 사람들이 너무 많습니다. HtmlAgility PackJint과 같은 프로젝트가 도움이되지만 통합되고 표준적인 솔루션은없는 것 같습니다. 적어도 웹 브라우저의 단순함이있는 것은 아닙니다.

[아래 폭언] ... 불행히도 jint를 HtmlAgility과 같은 프로젝트가 우려된다. 하나는 Internet Explorer, Chrome, Safari 또는 FireFox가 아닙니다. 당신은 자신이 무엇을 얻고 있는지 정확히 알지 못합니다. 예를 들어 Chrome 페이지에서 xyz.com이 완벽하게로드되어 렌더링됩니다. FireFox를 실행하여 다른 브라우저에서 뭔가가 동일하지 않은지 확인할 수 있습니다. 그러나이 라이브러리를 사용하면 모든 것이 올바르게 작동하는지 여부를 알 수 없습니다 (빠른 검사를 수행 할 시각적 표시가 없음). 게다가 누가 개발 중인지 알 수 있습니다. HTML5를 따라 잡을 수 있습니까? 그들은 주요 브라우저에 뒤떨어져 있습니까? 실적은 어떻습니까? 더군다나 브라우저에는 이미 캐싱 및 성능 향상과 같은 것들이 있습니다. 개별 라이브러리를 사용하게 될지 의심 스럽습니다.

IWebBrowser browser = new IE(); 
IWebBrowser browser = new Chrome(); 
IWebBrowser browser = new Safari(); 
IWebBrowser browser = new FireFox(); 

나는 그 불행하게도, 꿈이라고 생각 :

가장 좋은 브라우저 컨트롤은 물론 무언가 같이 될 것이다. 하나의 경우, 이들과 함께 플러그인을로드하고 싶다면 어떻게해야할까요? 사용자 프로필, 사용자 로그인 등은 어떻습니까? 나는 우리 대부분이 이러한 추가 기능이없는 브라우저의 근육을 원한다고 생각합니다.

정말 좋은 Chrome 솔루션을 찾기를 바랍니다. FireFox 영역에서 어떤 일이 일어날 지 모르겠다. 아마 우리를 계속 업데이트 할 수 있을까? 이러한 솔루션은 매우 빠르게 진화하고 있습니다. 저는 CefSharp 또는 WebKit.NET에 대해 들어 본 적이 없으며, 몇 달 전에 내 자신의 용도로 동일한 것을 (크롬 및/또는 FireFox .NET 브라우저에서) 검색했습니다. 많은 사람들이 모여 표준 인터페이스를 만든 다음 각 회사가 사양에 맞춰 내장 된 브라우저를 구축하면 좋을 것입니다. 여기에 바란다.

관련 문제