相关疑难解决方法(0)

以编程方式阅读网页

我想用C/C++编写一个程序,它将动态地读取一个网页并从中提取信息.举个例子想象一下,如果你想写一个应用程序来关注并记录一个ebay拍卖.抓住网页有简单的方法吗?提供此功能的库?是否有一种简单的方法来解析页面以获取特定数据?

c c++ http

32
推荐指数
2
解决办法
7万
查看次数

从C++代码打开URL

如何从我的C++程序中打开URL?

在红宝石中你可以做到

%x(open https://google.com)
Run Code Online (Sandbox Code Playgroud)

什么是C++中的等价物?我想知道是否有一个独立于平台的解决方案.但如果没有,我更喜欢Unix/Mac :)

这是我的代码:

#include <stdio.h>
#include <string.h>
#include <fstream>

int main (int argc, char *argv[])
{
    char url[1000] = "https://www.google.com";

    std::fstream fs;
    fs.open(url);
    fs.close();

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

c c++ unix url

15
推荐指数
4
解决办法
10万
查看次数

如何在PHP和C++之间建立通信?

关于标题问题,我有一个问题.所以,我正在尝试创建一个程序,它在C++程序和运行Apache Web服务器的PHP站点之间传递数据/数据请求.

我一直在研究Socket通信,但我不理解这个概念.我理解如何在PHP中创建套接字,在c ++中创建另一个套接字,并让我们使用测试应用程序运行它们.但只是单独的,不是互相交谈或与我的网络服务器交谈(PHP目前不在服务器上,它在不同的服务器上).那么这是如何工作的呢?根据我的理解,你需要一个人听一个端口号,另一个人要发一些东西给那个命令.

理想情况下,我宁愿不使用任何库来帮助我实现这一目标.我知道这个问题以前曾被问过多次,但我仍然无处可去.

有人可以提供上述工作原理的解释,或链接到这里/其他地方可能有帮助的问题吗?或者,如果有比使用套接字更好的方法吗?他们会互相交谈,速度可能是一个问题.

编辑,进一步说明:

Web服务器:我正在运行Apache Web服务器.PHP脚本位于此服务器上.

C++位置:在测试时,我的c ++应用程序存储在运行Web服务器的Raspberry Pi上.在实际应用程序中,我的C++应用程序仍将存储在同一设备上(但它不会是Raspberry Pi - 尽管仍然基于Linux).

通信:需要通过C++脚本触发PHP脚本来执行操作,反之亦然.他们需要两种方式都需要传递数据(通用数据结构,但它们可能相当大)(因此两者都需要能够发送和接收数据).

php c++ sockets apache

11
推荐指数
2
解决办法
4605
查看次数

用C++下载URL

我希望能够用C++下载URL.简单的事情:

std::string s;
s=download("http://www.example.com/myfile.html");

理想情况下,这将包括以下URL:

我在Boost中使用asio,但它似乎没有处理ftp和https等协议的代码.现在我发现QT有更多我需要的东西(http://doc.trolltech.com/2.3/network.html).

切换到Qt是很诱人的,但它似乎有点沉重,并且与很多Boost功能相交叉.是否值得学习另一个API(Qt)或者Boost能做的比我想象的要多吗?

c++ sockets

6
推荐指数
2
解决办法
3万
查看次数

使用C++的简单HTTP请求

在将此标记为冗余之前,请注意我已经尝试了很多在Web上发布的方法(包括堆栈溢出),并且它们都无法满足我的需求.另外请注意我对编程世界很陌生,所以请原谅我滥用技术术语.

现在我正在编写一个C++程序来计算用户计算机中的一些数据(例如IP地址),然后我将IP地址发送到已经设置的服务器.我通过URL执行此操作.例如,如果服务器位于http://stack1234abcdz.com,并且用户的IP地址是100.100.100.100,那么我会请求

http://stack1234abcdz.com/?ip="100.100.100.100
Run Code Online (Sandbox Code Playgroud)

我已经尝试了libcurl并且它在某种程度上有效,但是在编译之后,我需要在与.exe相同的目录中使用5.dll才能运行它,由于我的问题的一些可移植性,我不能拥有它.

我也尝试了一些其他传统的套接字方法,但是它们需要大量的库和SDK,这些库很难配置,而且它们经常让像我这样的新手淹没.我需要做的是非常简单(我甚至​​不需要服务器发回任何东西,除了可能成功或失败代码),因此我认为我不需要这么多来做这么多.

我在Windows 7(64位)机器上使用Visual Studio 2006,做C++.我不能使用更新的版本,因为给我的大多数其他代码都在VS2006中,并且它们不能很好地转换/转换为更新的版本.

我想我现在要问的是接下来要做什么.有没有办法使用libcurl使可执行文件不使用5 .dll?我在某个地方看到我必须做一些静态连接的东西,但它们并不是非常具体.

或者是否有更简单的方法来解决我忽略的问题?WinInet的?CAtlHttpClientT?卡萨布兰卡?我不想安装和配置我尚未理解的复杂库,特别是我的问题的大小...

非常感谢有关此事的任何帮助/意见/反馈,谢谢!

c++ http request libcurl

6
推荐指数
1
解决办法
3440
查看次数

带POCO的C++ Http请求

我想知道如何用C++中的POCO对URL进行请求(例如下载图片并保存)?

到目前为止,我得到了这个小代码

#include <iostream>
#include <string>
#include "multiplication.h"
#include <vector>
#include <HTTPRequest.h>
using std::cout;
using std::cin;
using std::getline;

using namespace Poco;
using namespace Net;

int main() {
    HTTPRequest *test = new HTTPRequest("HTTP_GET", "http://www.example.com", "HTTP/1.1");
}
Run Code Online (Sandbox Code Playgroud)

c++ http request poco-libraries

5
推荐指数
1
解决办法
2万
查看次数

将 HyperLedger Fabric 与 C++ 应用程序结合使用

因此,我正在考虑将 HyperLedger Fabric 与我用 C++ 编写的应用程序一起使用。根据我的理解,交互,即发布检索数据都是在chaincode中完成的,在我看到的所有示例中,这是通过使用 CLI 接口 docker 容器调用的。

我只是希望能够将我的应用程序生成的数据存储在区块链上。

我的问题是如何外部调用链码,当然这是可以做到的。我看到有一个 REST SDK,但它不再受支持,所以我不想接近它,说实话。还有什么其他选择?

谢谢!

c++ blockchain hyperledger hyperledger-fabric ibm-blockchain

5
推荐指数
1
解决办法
635
查看次数

使用libcurlpp时如何提取http响应?

尝试使用libcurlpp(libcurl的C++包装器)发布表单并获取响应.这一切都有效,但我不知道如何在http事务完成后以编程方式访问curlpp :: Easy对象的响应.Bascially:

#include <curlpp/Easy.hpp>
#include <curlpp/Options.hpp>
...
curlpp::Easy foo;
foo.setOpt( new curlpp::options::Url( "http://example.com/" ) );
foo.setOpt( new curlpp::options::Verbose( true ) );
...many other options set...
foo.perform();  // this executes the HTTP transaction
Run Code Online (Sandbox Code Playgroud)

当这段代码运行时,因为Verbose设置为trueI我可以看到响应得到输出到STDOUT.但是如何获得完整的响应而不是将其转储到STDOUT?curlpp :: Easy似乎没有任何方法可以访问响应.

谷歌有很多点击,人们问同样的问题,但没有回复.curlpp邮件列表是一个死区,curlpp网站的API部分已经被打破了一年.

libcurl curlpp

3
推荐指数
1
解决办法
2035
查看次数

C++和互联网程序

在过去的 6 个月里,我一直在自学 C++,我想把我学到的一点知识放到一个相对有用的程序中。我想制作一个程序来要求输入,(这是棘手的部分)在网站列表(包括所述网站中的其他页面)中搜索该输入的值并显示结果。事实是,我真的不知道如何开始,因为我没有阅读任何关于 c++ 和网络的指南,所以如果你有一个好的指南,请与我分享,非常感谢。

编辑:对不起,我不够清楚,程序本身并不是真正让我担心的,我只是在寻找解释如何结合 C++ 和网络的指南。我希望它像一个价格比较程序,从用户那里获取输入,在网站列表中搜索输入,得到结果,寻找它的价值并以递增的顺序显示结果

c++ networking

3
推荐指数
1
解决办法
8875
查看次数

socket,请求http网页

我通过发出http请求并读取响应头来获取一些带有套接字的网站,如下所示:

char buffer[1000];
while ((bytesReceived = tcpSocket.Receive(buffer, 1000-1)) > 0)
{
    buffer[bytesReceived] = '\0';
    myFile << buffer;
    memset(buffer, 0, 1000);
}
Run Code Online (Sandbox Code Playgroud)

这是接收功能:

int fsx::TcpSocket::Receive(char* _buffer, size_t _length)
{
    int iResult = recv(this->socketHandler, _buffer, _length, 0);
    if (iResult >= 0)
    {
        return iResult;
    }
    else
    {
        return SOCKET_ERROR;
    }
}
Run Code Online (Sandbox Code Playgroud)

而这部分响应我得到:

HTTP/1.1 200 OK
Date: Tue, 22 Sep 2015 10:46:10 GMT
Content-Type: text/html; charset=utf-8
Transfer-Encoding: chunked
Connection: close
Set-Cookie: __cfduid=d01e9db42c5332c444d5105c2cd9fd9e01442918769; expires=Wed, 21-Sep-16 10:46:09 GMT; path=/; domain=.stackoverflow.com; HttpOnly
Cache-Control: public, no-cache="Set-Cookie", max-age=60 …
Run Code Online (Sandbox Code Playgroud)

c++ sockets http

0
推荐指数
1
解决办法
148
查看次数