2012-07-18 2 views
0

여기에 문제가 있습니다. 웹 사이트에서 호스팅되는 자바 스크립트로 구현 된 기본 계산기가 있다고 가정 해 봅니다 (예를 찾아 봤습니다.이 예제를 찾고 http://www.unitsconverter.net/calculator/). 제가하고 싶은 것은이 웹 사이트를 열어 어떤 가치를 입력하고 반환 값을 얻는 프로그램을 만드는 것입니다. 그래서, 우리의 웹 사이트 계산기에 프로그램 : 일들이 아무것도를 표시 할 필요없이 수행해야합니다 : - 웹 사이트 을 열은 - 결과 주를 검색 - 피연산자 가 입력 - 작업 가 입력 - 피연산자 가 입력 사용자 (예 : 브라우저).C#을 사용하여 웹 사이트에 액세스

일부 검색을 수행하고 HttpWebRequest 및 HttpWebRespond에 대해 발견했습니다. 하지만 그 데이터를 서버에 게시하는 데 사용할 수 있다고 생각합니다. 즉, 데이터를 보내는 파일은 PHP, aspx 또는 JSP이어야합니다. 그러나 Javascript는 클라이언트 측입니다. 그래서, 나는 그들이이 상황에서 나에게 소용이 없다고 생각합니다.

어떤 도움이 필요합니까?

업데이트 : 내가 여기 (System.Windows.Forms에 있음) 웹 브라우저 제어 도구 를 사용하여 웹 로봇을 개발하기 위해 관리 한 코드의 샘플입니다 :

webBrowser1.Navigate("LinkOfTheSiteYouWant"); // this will load the page specified in the string. You can add webBrowser1.ScriptErrorsSuppressed = true; to disable the script in a page 
    webBrowser1.Document.GetElementById("ElementId").SetAttribute("HTMLattrbute", "valueToBeSet"); 

들은 주요 방법은 나는 내가 원했던 것을 해왔다. 이 비디오가 유용하다는 것을 알았습니다 : http://www.youtube.com/watch?v=5P2KvFN_aLY

+3

프로그램에서 직접 계산을 수행하는 것이 더 쉽지 않을까요? 내가 C#에서 할 수없는 언급 된 계산기의 기능을 볼 수 없습니다. – Daniel

+0

물론 이러한 프로그램의 목적은 계산 결과를 얻지 못하는 것입니다. 나는 그러한 계산기를 구현하는 방법을 알고있다. – joker

+0

그래, 내 문제를 해결할 수있었습니다.WebBrowser 개체를 사용했습니다. 페이지로 이동하는 메서드 탐색 요소를 가져올 문서 특성입니다. 메인 게시물을 수정하겠습니다. – joker

답변

3

나는 당신이 웹 사이트에 응용 프로그램에서 사용자의 입력/출력 파이프에 WatiN 같은 것을 사용하고 결과를 반환 할 수도 있겠죠,하지만 또 다른 주석으로 지적 일 때 이런 종류의 값 당신은 당신 자신의 계산기를 써서 공정하게 나를 탈출 할 수 있습니다.

0

당신이 찾고있는 것은 웹 서비스와 비슷한 것입니다. 제공 한 페이지는 HTTP POST의 데이터를 허용하지 않으며 소스에서 스크래핑 할 수있는 의미있는 정보가 없습니다.

http://www.ebay.com/sch/i.html?_nkw=http+for+dummies&_sacat=267&_odkw=http+for+dummies&_osacat=0 

을하고 당신이 찾고있는 정보에 대한 HTTP 응답을 통해 볼 : 예를 들어 프로그래밍 이베이 경매에 대한 검색을하고자한다면, 당신은 올바르게 예에 데이터를 게시하는 방법을 알아낼 수있다.

<div class="alt w"><div class="cnt">Your search returned <b>0 items.</b></div></div> 

로 : 당신은 아마 당신이 마크 업이 비트에 대한 HTTP 응답을 검색 할 것입니다, 당신은 얼마나 많은 결과를 알고 싶어 경우처럼 찾고있는 마크 업을 일치하는 정규 표현식을 만들 필요 것 까지 clientside/javascript 물건, 당신은 단지 평범한 당신이 뭘하려는 것처럼 아무것도 할 수 없을거야.

0

API 문제 : "원격 웹 사이트가 필요한 기능에 대한 API를 제공합니까?"

양방향 API를 노출하는 웹 리소스를 웹 서비스라고합니다. 수많은 예제가 있습니다 (Google Maps, istance).

& 약관에 따라 클라이언트에 액세스 할 수 있습니다.클라이언트의 성격은 액세스하는 웹 서비스의 종류에 따라 다릅니다.

"Calculator"라는 접근 가능한 웹 서비스가있는 경우 서비스에 액세스 할 수 있으며 istance는 sum 메서드를 호출합니다.

예에서 계산기는 자바 구현이므로 웹 서비스가 아니며 HTTP 요청을 통해 액세스 할 수 없습니다. 비록 그 구현은 여전히 ​​접근 가능합니다 : 계산기가 구현되는 것은 javascript file입니다. 항상 웹 사이트에 파일을 포함하고 자바 스크립트를 통해 기능에 액세스 할 수 있습니다 (항상 이용 약관을 유의하십시오 !!).

매우 일반적인 예로는 Google Libraries에 저장된 jQuery 라이브러리가 있습니다.

관련 문제