问题标签 [cpp-netlib]

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 回答
451 浏览

c++ - 请求标头中的 Http Digest 身份验证和 utf-8 符号

我正在尝试在基于cpp-netlib的服务器中实现HTTP Digest 身份验证,但我不确定如何解决授权标头中的属性可能包含 unicode 符号的问题 - 实际的 Digest 身份验证 RFC 并不具体于此. 但实践表明,例如 Chrome 只发送 utf-8 编码的用户名,这很好,除了 cpp-netlib 解析传入流并使用 Boost 和std::isalnum和朋友检查标头内容是否为字母数字(好的,在 Linux 上,我可以将当​​前语言环境设置为 utf-8,但我在 Windows 上),这当然会导致断言,什么不会。因此,我只是根据给出的事实征求一般意见:username

1)我应该转储这个(我真的很接近那个)并只使用自定义的 POST/GET 进行身份验证吗?2) 我是否可以自定义 Boost 的行为(因为验证字母数值的函数来自 boost\algorithm\string\classification)来解决这个问题?3)也许这些问题在POCO或其他可以在这种情况下作为替代品的 Web 服务器框架中以某种方式处理?

0 投票
1 回答
1030 浏览

c++ - 如何关闭与 cpp-netlib 的 http 连接?

运行从[/edit] HttpClient 示例复制的 Cpp-netlib(版本 0.11-rc1)[edit(addition)] 代码未完成。

我认为这是因为连接处于打开状态。1. 我的假设正确吗?2.连接必须手动关闭吗?3. 如果可以,如何访问连接?

0 投票
2 回答
5762 浏览

c++ - 带有 cpp-netlib 的 Https 服务器

如何使用 cpp-netlib 来实现 HTTPS 服务器?

以下问题阻止我结合 asio SSL 和 cpp-netlib:

  • 通过 asio 和 cpp-netlib 的 SSL 都使用asio 接受器来侦听端口(例如 80 或 443),然后为实际连接使用单独的会话。

    我假设对于 HTTPS:

    1. 您使用 asio ssl 接受器
    2. 哪个实例化一个连接
    3. 然后在这个连接上执行 SSL 握手,最后
    4. 让 cpp-netlib 通过此连接提供 HTTP

    但是我怎样才能将 cpp-netlib 的 HTTP 连接处理程序与接受器的用途分开呢?

  • 还是从 asio SSL 连接传递一个 io_service ?如果有,是哪一个?还是它们都一样?

  • 还是有完全不同的路线可供选择?

0 投票
1 回答
1078 浏览

git - 如何使用 MSVC (cmake) 构建 cpp-netlib

我尝试在安装了 MSVC 12 以及最新的 cmake 和 git 的 win 8.1 上的 MSys git bash 中执行此操作:

这失败了:并要求我设置 BOOST_ROOT。

这有什么问题?

谢谢您的帮助

0 投票
1 回答
1618 浏览

c++ - 从 tornado 客户端发送 http 请求到异步 cpp-netlib 服务器

我有一个在 tornado 框架中用 python 编写的 http 客户端:

另一方面,我有一个使用 cpp-netlib 用 c++ 编写的异步服务器。它基本上必须读取请求并打印其正文

连接处理程序如下所示:

但是请求正文总是空的,而不是我发回的响应(“hello world”)大多数时候我得到这样的东西(数字可能不同)

错误:HTTP 0:未知

你能告诉我为什么正文是空的或者为什么没有响应吗?

编辑:

为什么身体是空的就是答案。我做错了什么,我不会收到响应是这样的:在我的服务器中设置连接标头后,我正在设置连接状态。只是交换了他们的订单,它就像一个魅力。

0 投票
1 回答
12496 浏览

visual-studio-2012 - CMake - 使用 /MT 而不是 /MD 编译

我是 cmake (2.8.12.1) 的新手,我在 Windows 上使用它来生成项目文件以使用 Visual Studio 2012 构建 cpp-netlib。

默认情况下,它使用 /MDd 编译器开关进行编译。我想更改它以使其使用 /MTd。

我遵循了这里给出的建议https://stackoverflow.com/a/14172871但它对我不起作用。

具体来说,我在 CmakeLists.txt 的 if 语句中添加了如下所示的第二行。

当我打开 Visual Studio sln 文件时,我可以看到 /MDd 选项仍然设置。此外,我在 CMakeCache.txt 中看到以下内容:

我也尝试过像这样从头开始设置标志:

但这也不起作用。

如果我像这样通过命令行传递选项:

该选项已在 Visual Studio 项目中成功设置。

谁能告诉我我做错了什么?

如果有人能告诉我缓存中的值来自我未在命令行中指定或不在 CmakeLists.txt 中的值,我也将不胜感激。

按要求添加 CMakeList.txt。如果我没有做对,我以前从未发布过这样的道歉。

0 投票
1 回答
3355 浏览

c++ - C++ 编译器找不到 cpp-netlib boost 库,没有这样的文件或目录

这是我的代码的顶部,

我将 /cpp-netlib-0.10.1/boost/ 中的所有文件处理到其他 .hpp 文件所在的 boost 文件夹中,这些文件很好,但找不到其他文件。我试图重建索引,我删除了包含并重新添加它没有成功。

此外,如果我从问题行的路径中删除“boost/”部分,则可以找到很好的头文件,但是从其中链接的头文件会出现相同的错误。

感谢你们提供的任何帮助。

0 投票
1 回答
2341 浏览

c++ - cpp-netlib 问题,在抛出 'boost::exception_detail::clone_impl 实例后调用终止

我在具有异常处理的循环中执行以下代码。

代码运行良好,但是如果我禁用网络接口以测试我的软件以防网络故障,我会收到此错误,

在抛出 'boost::exception_detail::clone_impl >' 的实例后调用终止 what(): boost thread: 尝试加入自身: 避免资源死锁

我似乎无法捕捉到这个错误。此代码 24/7 执行状态检查,因此它很可能会找到出现网络错误的时间。最糟糕的是,它可能在第 1、2、3 次或第 4 次尝试后失败。我真的很想避免自己使用套接字实现 HTTP 协议套接字,但我可能需要这样做。有任何想法吗?

0 投票
1 回答
1565 浏览

cmake - 为 Raspbian 交叉编译 cpp-netlib 时出错

我已经使用交叉编译器成功编译了 boost(使用了安装 Raspberry Pi Cross-Compiler中的说明),它工作得很好。

我将lib和include移动到rootfs中,以便cmake找到它......当我运行cmake时,我得到了

太棒了......现在,当我运行 make 时,它​​以

但是...在 ~/raspberrypi/rootfs/lib/arm-linux-gnueabihf 里面有一个 libz.so.1

我知道它只是在测试中失败了,而且我可以使用这些库......但我真的很想有一个好的环境来交叉编译我需要的任何东西。

谢谢你的帮助 :)

编辑:刚刚ldd libssl.so在覆盆子上运行并得到

编辑2:如果我运行cmake,-DCMAKE_SKIP_BUILD_RPATH=FALSE -DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE -DCMAKE_INSTALL_RPATH=/home/gervasio/raspberrypi/rootfs/lib/arm-linux-gnueabihf -DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE我会得到这个输出

它说-rpath,/home/gervasio/raspberrypi/rootfs/usr/lib/arm-linux-gnueabihf这似乎不太好,对吧?

0 投票
1 回答
229 浏览

c++ - 无法在 vs2013 中编译 c++ netlib 0.11.0

我正在尝试让 c++ netlib 0.11.0 与 Visual Studio 2013 一起使用,但我遇到了相当困难的时期。我将 netlib 主文件夹放在了我的 Visual Studio 文件夹中,并正确设置了包含目录。您可以在下图中清楚地看到这一点:

http://i.imgur.com/mfGmpHv.png

c++ netlib 的文档/示例告诉我,要开始,我需要包括

但是当我这样做时,我的编译器找不到任何东西,如下所示:

http://i.imgur.com/HyVFezq.png

我应该将 cpp netlib 的内容与 boost 库合并吗?我也尝试过这样做,但我得到了其他一系列问题。我不知道如何让这个工作,有人有什么想法吗?