nmhttp1.get(...) 메소드 등을 이용하여 접속하시면 쿠키정보가 nmhttp1.header에 저장되어 반환됩니다. nmhttp에 cookieIn이라는 속성이 있지만 어쩐일인지 여러개의 쿠키중 한개만 반환되더군요 이 속성을 사용하지 않고 헤더를 직접 분석하는 것이 좋겠습니다.
보신바와 같이 각 요소는 줄바꿈으로 나누어 지고요 Set-Cookie: 라고 되어 있는 부분이 보이실 겁니다. 위의 예는 두개의 쿠키를 설정(userID,userNo)하였는데 ASPSESSION... 이렇게 생긴 쿠키가 하나 더 있습니다. 이것은 해당 사이트의 어플리케이션에 처음 접속하여 세션이 생길 때 세션유지를 위한 쿠키 입니다.
이 쿠키를 다시 반환 해 주지 않으면 계속 새 값이 날라 오고 서버측에 세션이 계속 누적 될 겁니다. 하지만 다음 페이지 접속시 이 쿠키를 반환해 주면 다시 오지 않습니다.
쿠키 뒤의 path=/ 는 잘 아시겠지만 쿠키가 적용되어야 할 경로이고요
이렇게 받은 정보를 Header로부터 읽어 적절히 문자열 파싱으로 잘라내고서
다음 페이지 접속시 nmhttp1.headerInfo.Cookie에 받은데로 설정하고 난 후 get메소드 등을 이용하여 접속하면 됩니다. 쿠키설정시는 ;(세미콜론으로 붙여서 보내면 되고요)
> nmhttp1.get(...) 메소드 등을 이용하여 접속하시면 쿠키정보가 nmhttp1.header에 저장되어 반환됩니다. nmhttp에 cookieIn이라는 속성이 있지만 어쩐일인지 여러개의 쿠키중 한개만 반환되더군요 이 속성을 사용하지 않고 헤더를 직접 분석하는 것이 좋겠습니다.
> 보신바와 같이 각 요소는 줄바꿈으로 나누어 지고요 Set-Cookie: 라고 되어 있는 부분이 보이실 겁니다. 위의 예는 두개의 쿠키를 설정(userID,userNo)하였는데 ASPSESSION... 이렇게 생긴 쿠키가 하나 더 있습니다. 이것은 해당 사이트의 어플리케이션에 처음 접속하여 세션이 생길 때 세션유지를 위한 쿠키 입니다.
> 이 쿠키를 다시 반환 해 주지 않으면 계속 새 값이 날라 오고 서버측에 세션이 계속 누적 될 겁니다. 하지만 다음 페이지 접속시 이 쿠키를 반환해 주면 다시 오지 않습니다.
>
> 쿠키 뒤의 path=/ 는 잘 아시겠지만 쿠키가 적용되어야 할 경로이고요
>
> 이렇게 받은 정보를 Header로부터 읽어 적절히 문자열 파싱으로 잘라내고서
>
> 다음 페이지 접속시 nmhttp1.headerInfo.Cookie에 받은데로 설정하고 난 후 get메소드 등을 이용하여 접속하면 됩니다. 쿠키설정시는 ;(세미콜론으로 붙여서 보내면 되고요)
nmHttp 를 사용하여 nmHttp1.Get("http://aaa.bbb.ccc?name="uuu"&passwd="ttt"); 와 같이 하면 서버로 부터 쿠키가 설정 되는데 다음 연결 부터는 이 쿠키 값이 있아야 연결 가능한데 이렇게 할려면 어떻게 해야 합니까 여러분의 많은 도...
토맛토
•
2001.06.22 20:12
TNMHTTP에서 쿠키를 이용하려면 두가지 Property를 이용합니다.
nmhttp1.get(...) 메소드 등을 이용하...
nmhttp1.get(...) 메소드 등을 이용하여 접속하시면 쿠키정보가 nmhttp1.header에 저장되어 반환됩니다. nmhttp에 cookieIn이라는 속성이 있지만 어쩐일인지 여러개의 쿠키중 한개만 반환되더군요 이 속성을 사용하지 않고 헤더를 직접 분석하는 것이 좋겠습니다.
header 속성은 문자열로 되어 있구요 다음과 같은 형태입니다.
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.0
Date: Fri, 22 Jun 2001 01:41:05 GMT
Connection: Keep-Alive
Content-Length: 0
Content-Type: text/html
Set-Cookie: userID=admin; path=/
Set-Cookie: userNo=1234; path=/
Set-Cookie: ASPSESSIONIDGGGGQICC=ONIHEMEBLCMLJKODIBPDKMHH; path=/
Cache-control: private
보신바와 같이 각 요소는 줄바꿈으로 나누어 지고요 Set-Cookie: 라고 되어 있는 부분이 보이실 겁니다. 위의 예는 두개의 쿠키를 설정(userID,userNo)하였는데 ASPSESSION... 이렇게 생긴 쿠키가 하나 더 있습니다. 이것은 해당 사이트의 어플리케이션에 처음 접속하여 세션이 생길 때 세션유지를 위한 쿠키 입니다.
이 쿠키를 다시 반환 해 주지 않으면 계속 새 값이 날라 오고 서버측에 세션이 계속 누적 될 겁니다. 하지만 다음 페이지 접속시 이 쿠키를 반환해 주면 다시 오지 않습니다.
쿠키 뒤의 path=/ 는 잘 아시겠지만 쿠키가 적용되어야 할 경로이고요
이렇게 받은 정보를 Header로부터 읽어 적절히 문자열 파싱으로 잘라내고서
다음 페이지 접속시 nmhttp1.headerInfo.Cookie에 받은데로 설정하고 난 후 get메소드 등을 이용하여 접속하면 됩니다. 쿠키설정시는 ;(세미콜론으로 붙여서 보내면 되고요)
예를 들어 위의 예에서는
nmhttp1.headerInfo.Cookie := 'userID=admin;userNo=1234;ASPSESSIONIDGGGGQICC=ONIHEMEBLCMLJKODIBPDKMHH;';
하고난뒤(붙이는 순서는 관계없습니다.) nmhttp1.get(...)하시면 됩니다.
뒤에 붙인 ASPSESSIONIDGGGGQICC... 는 세션유지를 위해 필요하니까 항상 따라가도록 하시고요
bluesea65 wrote:
> nmHttp 를 사용하여
> nmHttp1.Get("http://aaa.bbb.ccc?name="uuu"&passwd="ttt");
> 와 같이 하면 서버로 부터 쿠키가 설정 되는데
> 다음 연결 부터는 이 쿠키 값이 있아야 연결 가능한데
> 이렇게 할려면 어떻게 해야 합니까
> 여러분의 많은 도움 부탁드립니다.
>