2013-02-05 3 views
1

Java에서 몇 가지 문제가 있습니다. 난 무작위로 명명 된 입력 이름을 가져 오려고 노력 중이며 다른 몇 가지 입력과 함께 값입니다.다른 웹 사이트에서 필드 이름과 값을 가져 오는 방법은 무엇입니까?

이 같은 외모의 값을 잡기 위해 필요한 페이지의 소스 :

<form action="/login/" id="memberloginForm" method="post"> 
     <input name="sid" value="8f324234fds330248j4328" type="hidden" /> 
     <input data-value="1360027648" type="hidden" name="token" value="b482b673cffd5123345fbb21c7fec05" /> 
     <input name="redirect" type="hidden" value="" /> 
     <input type="hidden" name="snvlusskh" value="38c546d1302f025f44f9024dc234bac0" /> 

경우 "SID"데이터 값과 "토큰"의 값 및 이름과 값의 값 마지막 입력은 페이지를 방문 할 때마다 완전히 무작위로 선택됩니다. 이 문제를 해결하기 위해 JSoup HTML Parser 라이브러리를 살펴 보았지만 각 입력의 이름을 가져 와서 올바른 값을 페어링 할 수있는 방법을 알 수 없습니다.

내가해야 할 일은이 필드의 모든 이름과 값을 가져 와서 내 프로그램에서 사용할 수 있도록하는 것입니다. 웹 사이트에 로그인하려면이 값이 필요하며 내 프로그램은 웹 사이트에 로그인 할 수 있어야합니다.

도움을 주실 수있는 분들께 고맙습니다!

+0

단지 소인입니다 : 함께 얻을 에서? – mrunion

+0

큰 문제입니까? 할 수만 있다면 비공개로 유지하는 것이 좋을 것입니다. 관리자가 원하는 것은 공개적으로 만들어서는 안됩니다. – N01zii

+0

그것은 그것이 나에게 물고기 같다고 들린다. 코드/스크립트를 통해 로그인하려고 시도하는 웹 사이트를 만든 사람이 실제로 그렇게되기를 원하지 않습니다. 귀하가 어떤 웹 사이트에 관한 질문에 답을하지 않을 것이라는 사실만으로도 당신은 그다지 좋지 않을 것입니다. 당신은 이사회보다 훨씬 위에 있을지 모르지만 저는 확신하지 못합니다. 행운을 빕니다! – mrunion

답변

0

HtmlUnit library을 사용하십시오.

HtmlForm form = (HtmlForm) HtmlPage.getElementById("memberloginForm"); 
String sidValue = form.getInputByName("sid").getValueAttribute(); 
+0

이것은 정확히 내가 필요로하는 것처럼 보이지만 이름과 값을 가진 필드의 이름과 값을 잡는 방법은 페이지가로드 될 때마다 무작위로 생성됩니까? – N01zii

0

SID를하고 XPath를 함께 얻을 수있는 토큰 : 다운로드 및 제공된 예에서와 같이 페이지를 구문 분석하면,이 같은 형태의 입력을 추출 할 수 있습니다

//input[@name="sid"]/@value 
//input[@name="token"]/@value 

당신이 할 수있는 마지막

//input[last()]/@value 

및 데이터 값은 obvoiusly 어떤 웹 사이트 것은이 값을 얻기 위해 노력하고있다

+0

정말 미안하지만 어디서 이걸 쓸 수 있니? 내가 게시 한 내용을 이해하고 있지만 JSoup 등으로이 내용을 사용해야한다는 것을 의미합니까? – N01zii

+0

예 또는 xpath를 알고있는 라이브러리. – pguardiario

관련 문제