내가 지금처럼 콜론 문자가 포함 된 쿠키가 포함 VBA에서 HTTP GET 요청 보내려고하고있다 : 나는 objReq
에 사용하는 어떤 객체 유형에 따라VBA HTTP GET 요청 - 콜론 쿠키
objReq.Open "GET", "http://my.url.com?foo=bar", False
objReq.setRequestHeader "Cookie", "abcd=cookie:containing:colons"
objReq.Send
을 그러나 요청은 다르게 처리됩니다.
다음 객체 유형은 작동합니다
Dim objReq As MSXML2.ServerXMLHTTP
Set objReq = New MSXML2.ServerXMLHTTP
불행하게도, 나는 (HTTP 리디렉션에 대한 MSXML2.ServerXMLHTTP
충분한 세부 사항을 캡처 할 수 없기 때문에) 다른 오브젝트 유형을 사용해야합니다. 읽은 내용 중에서 Winhttp.WinHttpRequest
, MSXML2.ServerXMLHTTP40
또는 MSXML2.ServerXMLHTTP60
을 사용해야하지만 쿠키 값에 콜론을 포함하면 이러한 개체를 사용하면 다음과 같은 오류가 발생합니다.
내가 Chr(58)
, %3A
와 콜론을 교체했는데, 아무 소용이 문자열 내에서 이중 인용했다. 나는 또한 다양한 문자 인코딩과 함께 'Content-Type'헤더를 추가하려고 시도했지만, 그 중 하나가 작동하지 않는 것 같습니다.
누구나 Winhttp.WinHttpRequest
, MSXML2.ServerXMLHTTP40
또는 MSXML2.ServerXMLHTTP60
개체를 사용하여 콜론을 포함하는 쿠키 값을 보낼 수 있습니다.
PS : 또는 사람이 MSXML2.ServerXMLHTTP
를 사용할 때 나는 잘 작동하는, 리디렉션 시퀀스의 끝 URL을 얻을 수있는 방법을 알고 있다면! Winhttp.WinHttpRequest
을 입력하면 302 상태 코드를 캡처 할 수 있으며 MSXML2.ServerXMLHTTP40
또는 MSXML2.ServerXMLHTTP60
을 사용하면 GetOption(-1)
을 사용할 수 있지만 MSXML2.ServerXMLHTTP
은 (내가 알 수있는 것)이 방법 중 하나를 지원하지 않습니다.