에 이 웹 사이트 , 당신은 당신의 학생 카드 번호를 입력 할 수 있으며, 다음은 그 카드에 남아 얼마나 많은 돈을 표시합니다. JSOUP를 사용하여 정보를 얻고 싶습니다. 이것은 내 현재 코드이지만 작동하지 않습니다.
String url = "http://kortladdning3.chalmerskonferens.se/CardLoad_Order.aspx";
Connection.Response loginForm = Jsoup.connect(url)
.method(Connection.Method.GET)
.execute();
Document document = Jsoup.connect(url)
.userAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.157 Safari/537.36")
//.data("__VIEWSTATE","%2FwEPDwUHNjA4NDA1NQ9kFgQCAw9kFgoCAQ9kFgICAQ8PFgIeBFRleHQFClBUTSBLb3J0bnJkZAICDxYCHgdWaXNpYmxlaGQCAw8WAh8BaGQCBA8WAh8BaGQCBQ8WAh8BaBYCAgEPEGRkFgBkAgUPDxYCHwAFCShkZXNrdG9wKWRkZGzBhwMIv3yxqKnC0C7%2BPlC0PlDG")
.data("__EVENTVALIDATION", "%2FwEWBAKG7bXPBQLi0uqnCgKF69rWBAK14fOOCgrUt4CBVP4K0VKe0uOPxLSAu26y")
.data("hiddenIsMobile", "desktop")
.data("txtCardNumber", "3819276248xxxxxx")
.data("SavedCardNumber", "")
.data("btnNext","N%C3%A4sta")
.cookies(loginForm.cookies())
.get();
System.out.println(document.html());
나는 많은 경험이 없기 때문에 어디에서 문제를 찾아야할지 모릅니다. 몇 가지 생각 :
.post()
또는 사용해야합니까 .get()
?.data(.., ..)
기능 과 함께 보내는 모든 데이터입니다 . 그러나 전송시 __VIEWSTATE
오류가 발생하면 그 이유는 무엇입니까?당신은 모두를 사용해야 get
하고 post
:
먼저 당신은 보내야 할 get
받는 매개 변수없이 요청 URL
- http://kortladdning3.chalmerskonferens.se/Default.aspx . 서버는 일부 쿠키와 나중에 사용할 두 가지 값 ( __VIEWSTATE
및 __EVENTVALIDATION
. 이러한 값은 요청에 따라 다르므로 하드 코딩 된 값을 사용할 수 없습니다.
이러한 값을 추출한 후 post
지금과 동일한 필드를 사용하여 요청을 보냅니다 .
여기에서 매우 유사한 절차를 볼 수 있습니다 -Jsoup으로 로그인 양식 제출 문제
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다