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.
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).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich habe ein bisschen testen mit WinHttpRequest und ich kam mit dem folgenden code:
Ich habe bemerkt, ich habe den gleichen Fehler, die Sie gebucht, wenn ich vergaß, Sie zu zählen "http://" in der url.
Ich hoffe, das hilft!