问题标签 [cpprest-sdk]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - PPL 任务调用一段时间 C++
我正在进行交叉远程工作测试,我使用 Cpp Rest Casablanca。我需要解析一个 XML 文件,所以我在 google 上找到了这个 xml 解析器(它似乎是最快的解析器)
但是我需要更改它,因为每次我有一个潜在的阻塞 I/O 操作(例如读取文件)我都必须创建一个任务。所以我尝试从这个转换(只是一小段代码)
像这样:
我实际上正在研究 PPL 和 casablanca,但我没有找到很多例子。当我第一次调试代码时 ReadNodeXML.get() 跳转到 ReadNodeXML 任务代码但只有一次,所以我无法读取其他节点并且它循环。有人可以解释什么是错的,因为在阅读了大量文档后,我怀疑以一种递归方式完全重写代码。
windows - CPP Rest SDK http_listener 在 nano 服务器中抛出异常(在 Docker 容器中)
我有一个使用 Cpp Rest SDK 构建的服务器应用程序,它在 windowsserver 代码 Docker 容器(10GB!)中运行良好。现在我正试图让它在 nano 服务器容器中工作以节省空间(“仅”1GB)。该应用程序运行但随后在初始化期间引发异常。更具体地说,它在 pplx::task::wait() 上引发“未知异常”。
同样,如果在 windowsservercore 容器中运行,上面的代码也可以工作。有什么线索吗?也找不到在 Visual Studio 2015 中远程调试代码的方法。
c++ - cpprestsdk: handle chunked response
How should I handle chunked response using cpprestsdk? How to request the next chunk? Is there required functionality at all there?
Here is how we are performing http requests:
If I'm trying naively to perform another request just after this one then I got an error:
WinHttpSendRequest: 5023: The group or resource is not in the correct state to perform the requested operation.
c++ - 使用 C++ REST SDK 将图像从 OpenCV 3 发送到 Cognitive Face API
我想在 C++ 中的应用程序中使用 Microsoft Face API。cpprest sdk 允许我发送图像的 url 或图像的二进制数据。问题是我的图像不是磁盘中的文件,而是内存中的 cv::Mat。我一直在尝试通过字符串流对其进行序列化,但请求方法抱怨,因为只接受一些字符串和 istream。
从文件打开图像时,以下代码很好:
这里使用 file_stream 来打开文件。我尝试像这样序列化我的 Mat:
这种序列化的工作原理是我可以在之后解码并重建图像。
¿如何通过客户端将opencv Mat图像发送到服务器?
c++ - 如何发出包含基本身份验证标头和 JSON 正文的 POST 请求?
我正在尝试使用 CPPRESTSDK(又名 Casablanca)将数据发布到 RESTful 服务器。为此,我创建了一个请求,并分配了一个标头:
接下来,我创建了一个包含所有键值对的 web::json::value 对象:
然后我通过调用将这个对象存储在请求的正文中:
最后,我使用 http_client 将请求发送到服务器:
问题是这没有任何作用。如果我在这一行设置断点,我会得到关于“400 Bad Request”的信息。我会假设请求的正文格式不正确,但也可能是我在标头中遗漏了一些信息。当我在同一个 URL 上发出 GET 请求时,不会发生此错误,因此这绝对是 POST 的问题。你怎么看?
这是一个工作示例:
}
c++ - 使用 cpprest 读取二进制数据
我正在使用 Microsoft 的 cpprest sdk 通过 Internet 读取二进制数据。我下面的变量stream
是类型concurrency::streams::istream
。我正在尝试读取一百万行类型struct row
并处理它们。我看到我没有得到我请求的所有字节。我怀疑有一种很好的编码方法,但我无法弄清楚。我还怀疑我从缓冲区中提取一行的强制转换不是正确的做事方式。任何帮助,将不胜感激。
c++ - cpprest 链接器错误:未定义对 'web::http::client::http_client::~http_client()' 的引用
我在这里按照构建说明进行操作:https ://github.com/Microsoft/cpprestsdk/wiki/How-to-build-for-Linux
我编译g++ -std=c++11 castutorial.cpp -o castutorial -lboost_system -lcrypto -lssl -lcpprest
这是编译器错误消息:
如何找到 http_client.h 的实现?我阅读了有关链接器错误的信息。据我了解,目标文件或 lib 文件应该存在于某个地方,以便用我的程序进行编译。
json - JSON 使用 cpprestsdk 序列化 std::list 和 std::map
我正在使用 cpprestsdk 用 C++ 编写一个使用 REST 服务的服务器应用程序。在我的应用程序中,我必须将包含 std::list 和 std::map 对象的类序列化为 JSON。
有没有关于使用 cpprestsdk 序列化 STL 类的示例(https://github.com/Microsoft/cpprestsdk/)
c++ - 取消上传任务
我已经阅读了一些有关 Azure SDK 的内容,为了取消您似乎需要传入cancellation_token
.
我的上传代码很简单:
但是,我上传的某些文件可能非常大,我希望能够取消此操作。如果可能的话,我可能还会使用延续,并且也需要所有这些取消。
我遇到的问题是我看不到任何附加cancellation_token
到任务的方法。
任何指针?
c++ - WinHttpSendRequest: 2148074273 缓存不足
我正在使用 cpprest-sdk 构建一个 Rest 客户端以与 Web 服务进行通信。问题是,每隔一段时间,在发送多个成功请求(大约 50 个)之后,我都会收到异常:
WinHttpSendRequest: 2148074273 函数缓存不足
或者有时:
ERROR_WINHTTP_SECURE_FAILURE (12175)
我试图在 cpprest-sdk 中寻找缓存选项,但没有找到任何东西。由于当我调用.wait()
我的任务时异常发生在 cpprest-sdk 中,我不确定是否可以使用 WINHTTP_STATUS_CALLBACK 检查有关此错误的更多详细信息。如何更深入地调查以找到此错误的原因?
这是我的休息请求:
根据https://msdn.microsoft.com/en-us/library/windows/desktop/aa383928(v=vs.85).aspx(第 4 个项目符号),不应缓存 Post 请求,所以我不明白为什么我得到了第一个例外。正如链接中的第 6 个项目符号所建议的那样,我还尝试禁用 Https 缓存,但这并没有改变任何东西。
有没有人经历过类似的事情或对可能发生的事情有任何见解?或者这是一种正常行为,当这些异常发生时我应该重试我的请求吗?