我正在用python-flask中的服务器开发Windows窗体应用程序(Visual C ++)。我需要从c ++向烧瓶发送http POST请求,并且为此使用了winHTTP。 我正在关注本文档 WinHTTP Send Request Function 如果我仅通过在url中进行串联传递参数,则能够接收请求参数。 例如http://127.0.0.1:5000/memo?foo=Hello 如果我在winHTTP中使用标头发送
std::string dat = "foo=Hello";
LPSTR data = const_cast<char *>(dat.c_str());
DWORD data_len = strlen(data);
LPCWSTR additionalHeaders = L"Content-Type: application/x-www-form-urlencoded\r\n";
DWORD headersLength = -1;
BOOL result = WinHttpSendRequest(request_, additionalHeaders, headersLength, (LPVOID)data, data_len, data_len, 0))
我无法在烧瓶中使用它
foo = request.args.get('foo')
如果我从Flask-Python打印print(foo)
,它将打印“无”。
但是,如果我打印
if request.method == 'POST':
print(request.headers)
print(request.get_data())
foo = request.args.get('foo')
print(foo)
它打印
console print 这意味着这些值在数据中,我需要进行额外的解析才能访问该数据。现在,下一个主要问题是我需要上传图像,并且我正在遵循本文档Using Windows HTTP Services,但是我无法使用
在python中访问图像file = request.files['image'])
filename = images.save(file)# saving image from flask_uploads
如何使用print(request.get_data())
我想上传图片问题和使用其他标题发送http发布请求有关。但是,我无法区分问题出在winhttp还是flask。