VBA HTTP-GET-request - cookies mit Doppelpunkten

Ich bin versucht, senden Sie eine HTTP-GET-Anfrage in VBA und enthält ein cookie mit einem Doppelpunkt, so wie hier:

objReq.Open "GET", "http://my.url.com?foo=bar", False
objReq.setRequestHeader "Cookie", "abcd=cookie:containing:colons"
objReq.Send

Je nachdem, was Objekt-Typ ich verwenden für objReq jedoch die Anfrage wird anders behandelt.

Folgende Objekt-Typ arbeitet:

Dim objReq As MSXML2.ServerXMLHTTP
Set objReq = New MSXML2.ServerXMLHTTP

Leider, ich muss an einem anderen Objekt geben (wie MSXML2.ServerXMLHTTP nicht erfassen kann, ausreichend Details über die HTTP-Umleitungen). Von dem, was ich gelesen habe, die ich verwenden müssen Winhttp.WinHttpRequest, MSXML2.ServerXMLHTTP40 oder MSXML2.ServerXMLHTTP60, aber mit jedem dieser Objekte, die Ergebnisse in die folgende Fehlermeldung, wenn einschließlich der Doppelpunkte in der cookie-Wert.

VBA HTTP-GET-request - cookies mit Doppelpunkten

Habe ich versucht, anstelle der Doppelpunkte mit Chr(58), %3A und doppelte Hochkommas im string ohne Erfolg. Ich habe auch versucht, das hinzufügen eines 'Content-Type' - header mit verschiedenen Zeichen-Codierungen, aber das scheint nicht zu funktionieren.

Jemand weiß, wie kann ich einen cookie senden, der Wert mit Doppelpunkten mit der Winhttp.WinHttpRequest, MSXML2.ServerXMLHTTP40 oder MSXML2.ServerXMLHTTP60 Objekte?

PS: Alternativ, wenn jemand weiß, wie bekomme ich die Endung der URL des redirect-Sequenz bei Verwendung MSXML2.ServerXMLHTTP, das würde auch funktionieren! Winhttp.WinHttpRequest würde mir erlauben, zu erfassen, einen 302 status-code, und MSXML2.ServerXMLHTTP40 oder MSXML2.ServerXMLHTTP60 mir erlauben würde, zu verwenden GetOption(-1), aber MSXML2.ServerXMLHTTP keine Unterstützung entweder von diesen Methoden (von was ich sagen kann).

InformationsquelleAutor wlgreg | 2013-06-29
Schreibe einen Kommentar