带有边界获取错误的 HTTP POST
HTTP POST with boundary getting error
我正在尝试使用Arduino板将图像发布到我的服务器。我发布的页面使用的是Ruby on Rails,我知道它的工作原理,因为我已经用Postman测试过了它。现在,我的Arduino代码在我开始添加边界之前做得很好。请指导。我尝试了多种不同的设置。我已经删除了上传文件的代码,因为我无法让下面的内容正常工作。
// send the header
sprintf(outBuf,"POST %s HTTP/1.1",page);
client.println(outBuf);
sprintf(outBuf,"Host: %s",domainBuffer);
client.println(outBuf);
client.println(F("Connection: closernContent-Type: multipart/form-data; boundary=----AbC123"));
sprintf(outBuf,"Content-Length: %urn",strlen(thisData));
client.println(outBuf);
// send the body (variables)
client.println(F("------AbC123"));
client.println(F("Content-Disposition: form-data; name="authenticate""));
client.println();
client.println(F("authenticate"));
client.println(F("------AbC123--"));
这是我从我的网页上得到的。我知道我的问题在于我的请求的结构。
2018-03-21 01:56:23 +0000: Rack app error: #<EOFError: bad content body>
/usr/local/rvm/gems/ruby-2.2.1/gems/rack-1.6.8/lib/rack/multipart/parser.rb:147:in `get_current_head_and_filename_and_content_type_and_name_and_body'
/usr/local/rvm/gems/ruby-2.2.1/gems/rack-1.6.8/lib/rack/multipart/parser.rb:58:in `block in parse'
对于将来看到这个问题的任何人。我的问题是我错误地计算了正文的内容长度。内容长度是从开始边界到结束边界的所有内容的长度。一旦我修复了一切正常。感谢您的所有帮助。
相关文章:
- 如何使用boost/beast从HTTP POST请求中解析和提取有效负载?
- C++:如何通过 curl 调用使用 HTTP post 请求发送二进制数据(protobuf 数据)
- HTTP POST 请求不允许我定义上下文类型
- cpp libcurl 在 HTTP post 调用中发送 zip 文件,而不使用 multipart\form-da
- 使用 http post 在 FCM 中推送通知
- 带有边界获取错误的 HTTP POST
- HTTP post 使用 libcurl 创建 InfluxDB 数据库
- C HTTP POST 400不良请求
- 处理HTTP POST请求/响应
- 使用 cpprest 通过 json 对象在 http post 中发送图像
- 如何使用libmicrohttpd/microhttpd创建HTTP POST请求
- 使用libCURL的简单HTTP Post
- 为什么在c++中使用http post失败
- 将 JSON 对象返回到 HTTP POST REST 调用C++
- 如何向包含多部分 HTTP POST 的 SendGrid Web API 发出请求
- HTTP POST 请求使用 boost::asio
- mosyn Http post to php using AMDownload
- 将 http "Post" 请求发送到 C 或 C++ 中的 php 代码
- gSOAP - 修改 HTTP POST 标头
- 发送http post消息错误报告的安全方式