Http Beitrag in Vba

8

Ich versuche herauszufinden, wie man einen POST in VBA macht. Idealerweise suche ich ein einfaches Arbeitsbeispiel, mit dem ich spielen kann. Das habe ich bisher, aber ich bin mir nicht sicher, was ich damit anfangen soll. Meistens sehen die Formdaten aus.

%Vor%

Bearbeiten:

Also habe ich den Firebug installiert, damit ich die Objektnamen für die "formdata" bekommen konnte (siehe Code). Ich hätte gedacht, dass Formdaten so aussehen würden wie "Form1 = A & amp; Form2 = B". Aber es funktioniert immer noch nicht. Irgendwelche Vorschläge, wie ich das besser machen sollte?

Bearbeiten: So scheint es möglicherweise versteckte Felder, die ich in meiner POST-Anfrage senden muss.

    
Ommit 18.10.2010, 21:17
quelle

2 Antworten

4

Um Formulardaten in dem von Ihnen vorgeschlagenen Format (d. h. identisch mit einer GET-Anfrage) zu senden, müssen Sie den Content-Type-Header auf "application / x-www-form-urlencoded" setzen.

Wenn Sie komplexere Daten senden müssen (z. B. Datei-Uploads oder andere binäre Daten), sollten Sie den Inhaltstyp möglicherweise auf "multipart / form-data" setzen. Die Details zum Formatieren des Anfragetexts sind in RFC 2388 aufgeführt, aber Sie könnten besser darin sein, einen zu finden Bibliothek, die es für Sie tun wird. Es kann schwierig sein, die Formatierung genau richtig zu machen, und es ist nicht notwendig, das Rad neu zu erfinden, wenn Sie es nicht als Lernerfahrung machen.

    
eaj 17.11.2010 16:33
quelle
0

Laden Sie Fiddler herunter, damit Sie die HTTP-Anfragen debuggen / decodieren können. Sie könnten nur etwas Einfaches vermissen.

Außerdem gibt es zahlreiche Resuls bei der Suche nach "HTTP POST VBA" in der MSDN Library. ( Ссылка ). (Scheint ein "Bug" beim Ausschließen von Inhalten zu sein, also habe ich stackoverflow und soziale Ergebnisse in der Abfrage ausgeschlossen.)

Senden von Formulardaten mithilfe von XMLHTTP oder ServerXMLHTTP-Objekt unter Ссылка , das VBScript verwendet , wird aber leicht in vBA konvertiert.

    
AMissico 17.11.2010 19:13
quelle