问题标签 [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.

0 投票
0 回答
119 浏览

c++ - PPL 任务调用一段时间 C++

我正在进行交叉远程工作测试,我使用 Cpp Rest Casablanca。我需要解析一个 XML 文件,所以我在 google 上找到了这个 xml 解析器(它似乎是最快的解析器)

https://code.msdn.microsoft.com/XmlLite-XML-node-writer-4472022a/sourcecode?fileId=51211&pathId=2033671260

但是我需要更改它,因为每次我有一个潜在的阻塞 I/O 操作(例如读取文件)我都必须创建一个任务。所以我尝试从这个转换(只是一小段代码)

像这样:

我实际上正在研究 PPL 和 casablanca,但我没有找到很多例子。当我第一次调试代码时 ReadNodeXML.get() 跳转到 ReadNodeXML 任务代码但只有一次,所以我无法读取其他节点并且它循环。有人可以解释什么是错的,因为在阅读了大量文档后,我怀疑以一种递归方式完全重写代码。

0 投票
0 回答
180 浏览

windows - CPP Rest SDK http_listener 在 nano 服务器中抛出异常(在 Docker 容器中)

我有一个使用 Cpp Rest SDK 构建的服务器应用程序,它在 windowsserver 代码 Docker 容器(10GB!)中运行良好。现在我正试图让它在 nano 服务器容器中工作以节省空间(“仅”1GB)。该应用程序运行但随后在初始化期间引发异常。更具体地说,它在 pplx::task::wait() 上引发“未知异常”。

同样,如果在 windowsservercore 容器中运行,上面的代码也可以工作。有什么线索吗?也找不到在 Visual Studio 2015 中远程调试代码的方法。

0 投票
1 回答
1814 浏览

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.

0 投票
1 回答
1202 浏览

c++ - 使用 C++ REST SDK 将图像从 OpenCV 3 发送到 Cognitive Face API

我想在 C++ 中的应用程序中使用 Microsoft Face API。cpprest sdk 允许我发送图像的 url 或图像的二进制数据。问题是我的图像不是磁盘中的文件,而是内存中的 cv::Mat。我一直在尝试通过字符串流对其进行序列化,但请求方法抱怨,因为只接受一些字符串和 istream。

从文件打开图像时,以下代码很好:

这里使用 file_stream 来打开文件。我尝试像这样序列化我的 Mat:

这种序列化的工作原理是我可以在之后解码并重建图像。

¿如何通过客户端将opencv Mat图像发送到服务器?

0 投票
0 回答
1234 浏览

c++ - 如何发出包含基本身份验证标头和 JSON 正文的 POST 请求?

我正在尝试使用 CPPRESTSDK(又名 Casablanca)将数据发布到 RESTful 服务器。为此,我创建了一个请求,并分配了一个标头:

接下来,我创建了一个包含所有键值对的 web::json::value 对象:

然后我通过调用将这个对象存储在请求的正文中:

最后,我使用 http_client 将请求发送到服务器:

问题是这没有任何作用。如果我在这一行设置断点,我会得到关于“400 Bad Request”的信息。我会假设请求的正文格式不正确,但也可能是我在标头中遗漏了一些信息。当我在同一个 URL 上发出 GET 请求时,不会发生此错误,因此这绝对是 POST 的问题。你怎么看?

这是一个工作示例:

}

0 投票
0 回答
666 浏览

c++ - 使用 cpprest 读取二进制数据

我正在使用 Microsoft 的 cpprest sdk 通过 Internet 读取二进制数据。我下面的变量stream是类型concurrency::streams::istream。我正在尝试读取一百万行类型struct row并处理它们。我看到我没有得到我请求的所有字节。我怀疑有一种很好的编码方法,但我无法弄清楚。我还怀疑我从缓冲区中提取一行的强制转换不是正确的做事方式。任何帮助,将不胜感激。

0 投票
0 回答
2316 浏览

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 文件应该存在于某个地方,以便用我的程序进行编译。

0 投票
1 回答
825 浏览

json - JSON 使用 cpprestsdk 序列化 std::list 和 std::map

我正在使用 cpprestsdk 用 C++ 编写一个使用 REST 服务的服务器应用程序。在我的应用程序中,我必须将包含 std::list 和 std::map 对象的类序列化为 JSON。

有没有关于使用 cpprestsdk 序列化 STL 类的示例(https://github.com/Microsoft/cpprestsdk/

0 投票
1 回答
1200 浏览

c++ - 取消上传任务

我已经阅读了一些有关 Azure SDK 的内容,为了取消您似乎需要传入cancellation_token.

我的上传代码很简单:

但是,我上传的某些文件可能非常大,我希望能够取消此操作。如果可能的话,我可能还会使用延续,并且也需要所有这些取消。

我遇到的问题是我看不到任何附加cancellation_token到任务的方法。

任何指针?

0 投票
1 回答
555 浏览

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 缓存,但这并没有改变任何东西。

有没有人经历过类似的事情或对可能发生的事情有任何见解?或者这是一种正常行为,当这些异常发生时我应该重试我的请求吗?