2016-08-01 11 views
0

kann mir jemand in die richtige Richtung führen, wenn es um HTTP-Anfragen mit Python geht? Was ich möchte, ist ein Excel-VBA-Add-In, das nachverfolgen wird, welche Arbeitsmappen der Benutzer öffnet und wann usw. Während dies bereits erledigt ist, möchte ich nun die Informationen in eine Datenbank bringen.HTTP-Anfragen (Python + VBA)

Zu diesem Zweck kann ich mir vorstellen, einen sehr einfachen Python-Server auszuführen, der zum Speichern der Informationen verwendet wird. Die Frage ist also, wie richte ich einen einfachen HTTP-Server ein, damit VBA einen einfachen String posten kann, der dann gespeichert wird?

Danke!

EDIT:

Danke chf! Ich ging weiter und folgte Ihrem Rat - ich ersetzte Flasche mit Django obwohl ich eine kurze Erfahrung damit hatte. Ich habe jetzt meine erste API erstellt, kann sie aber nicht mit dem von Ihnen geposteten VBA-Code posten. Ich kann httpie tun wie so: "http POST http: /127.0.0.1 name =" somename“Workbook = "someworkbook"

Sub TestFramework() 

Dim newClient As New WebClient 
Dim newRequest As New WebRequest 
Dim Response As WebResponse 

newClient.BaseUrl = "http://127.0.0.1:8000/api/create/" 

newRequest.Method = HttpPost 

newRequest.Format = WebFormat.plaintext 
newRequest.AddBodyParameter "name", "somename" 
newRequest.AddBodyParameter "workbook_name", "Sheet1" 

Set Response = newClient.Execute(newRequest) 

End Sub 

Jede Chance, dass Sie mich auf den rechten Weg weisen könnte

RuntimeError: You called this URL via POST, but the URL doesn't end in a slash and you have APPEND_SLASH set. Django can't redirect to the slash URL while maintaining POST data. Change your form to point to 127.0.0.1:8000/api/create/ (note the trailing slash), or set APPEND_SLASH=False in your Django settings. [03/Aug/2016 20:13:18] "POST /api/create HTTP/1.1" 500 60534

.?

Edit2: vergiss es, habe es :)

Antwort

1

Nizza Projekt arbeiten Sie Flask für den Python Teil verwenden, können Sie VBA-WEB einen kleinen REST Api und für die VBA Teil erstellen können, dass die API zu konsumieren

!.

Beide Flask als VBA-WEB sind sehr gut mit vielen Beispielen dokumentiert. Ich benutze VBA-WEB in vielen kleinen "SAK" Dienstprogramme in Excel und es ist sehr nützlich und leistungsstark. Für einige Ruhe Apis mit Json-Ausgang Kolben ist ein nettes Werkzeug zu verwenden.