HTTP请求(Python+VBA)

2024-10-05 14:30:07 发布

您现在位置:Python中文网/ 问答频道 /正文

当涉及到使用python的http请求时,有人能指导我正确的方向吗?我所追求的是一个excelvba加载项,它将跟踪用户打开哪些工作簿以及何时打开等。虽然已经完成了,但我现在想将信息保存到数据库中。在

为此,我可以想象运行一个非常简单的Python服务器来存储信息。因此,问题是,如何设置一个简单的http服务器,以便VBA可以发布一个简单的字符串,然后将其存储起来?在

谢谢!在

编辑:

谢谢瑞士法郎!我继续按照你的建议去做——我用django代替了flask,尽管我有一些简短的经验。我已经有了我的第一个API创建现在,但不能张贴使用你发布的VBA代码。我可以这样做httpie:“http POST http:/127.0.0.1 name=”somename“workbookname=”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

你能给我指点正确的路吗?在

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

编辑2:没关系,让它工作起来:)


Tags: thetoname服务器api信息httpurl
1条回答
网友
1楼 · 发布于 2024-10-05 14:30:07

不错的项目! 对于Python部分,您可以使用Flask来构建一个小型的restapi,对于VBA部分,您可以使用VBA-WEB来使用该Api。在

这两个烧瓶比VBA-WEB都有很好的记录,有很多例子。 我在Excel的很多小的“SAK”(瑞士军刀)实用程序中使用VBA-WEB,它非常有用和强大。 对于一些带有json输出Flask的restapi来说是一个很好的工具。在

相关问题 更多 >