2011-09-07 4 views
3

vbscript를 사용하여 웹 양식을 통해 프로그래밍 방식으로 게시물 데이터를 제출하려고합니다.VBScript에서 쿠키 가져 오기 및 쿠키 및 변수 게시

쿠키 : JSESSIONID = XXXXXXXXXXXXXXXXXXXXX

나는 그것이에 게시하도록하겠습니다이 사이트는 내가 내가 자바 인증을하는 것입니다 생각 JSESSIONID를 포함하는 쿠키를 전송 고시, 일부 자바를 포함하고 헤더에 주위를 찌르고 한

내가 보낼 주소와 게시물 데이터를 보내고 respondsetext를 보았을 때 자바 인증 페이지로 되돌려 보낸다. 그러면 jsessionid 쿠키를 검색하고 데이터로 다시 제출해야한다고 생각하게 만든다. 게다가.

게시물 데이터를 제출하는 데 사용하는 기능입니다. 간단한 양식이 잘 작동하는 것 같다,하지만이 페이지에 자바의 종류 나에게 던졌다 : 정말

Function Fetch(URL, POST) 

    Set WshShell = CreateObject("WScript.Shell") 
    Set http = CreateObject("Microsoft.XmlHttp") 
    http.open "POST", URL, FALSE 
    http.setRequestHeader "Content-Type", "application/x-www-form-urlencoded" 
    http.send POST 
    Fetch = http.responseText 
set WshShell = nothing 
set http = nothing 

End Function 

내 질문이 있습니다 : 어떻게이 권리를하고 있는가? 첫 페이지를로드하고 쿠키를받은 다음 다시 양식을 제출해야합니까? 그렇다면 서버가 헤더에서 다시 보내는 쿠키를 어떻게 검색합니까? 그들이 다시 보낸 헤더를 보면 알 수 있습니다.

Set-Cookie : JSESSIONID = XXXXXXXXXXXXXXXXXXXXX; 경로 =/페이지

고마워요.

답변

4

http.getResponseHeader("Set-Cookie") 또는 구문 분석 http.getAllResponseHeaders()을 통해 얻을 수 있습니다. 그런 다음 다음 요청시 http.setRequestHeaders "Cookie", "JSESSIONID=XXXXXXXXXXXXXXXXXXXXX; Path=/Page"을 통해 요청 헤더에 쿠키 값을 추가해야합니다.
CreateObject("WinHttp.WinHttpRequest.5.1")을 사용하는 다른 옵션이 있습니다 (잘못 아닐 경우).

동일한 인스턴스를 사용하는 한 이전에 다음 요청에서 사용한 쿠키를 기억할 수 있습니다.

+0

아, 예 "http.getResponseHeader ("Set-Cookie ")"그게 내가 필요한 것입니다. 이것에 대해 고마워! – Simon