Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/128.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Poco HTTPClientSession.ReceiveResponse跳过程序C++;_C++_Http_Poco Libraries - Fatal编程技术网

C++ Poco HTTPClientSession.ReceiveResponse跳过程序C++;

C++ Poco HTTPClientSession.ReceiveResponse跳过程序C++;,c++,http,poco-libraries,C++,Http,Poco Libraries,顾名思义,我正在使用Poco发送HTTP请求。现在,我正试图向google.com发送一个GET请求,并将生成的HTML存储在一个字符串中,以测试Poco,看看它是否符合我的需要。然而,我在这方面有点麻烦。这是我的密码: 试试看 { Poco::URI(“https://www.google.com"); std::字符串路径(uri.getPathAndQuery()); if(path.empty())path=“/”; Poco::Net::HTTPSClientSession会话(uri

顾名思义,我正在使用Poco发送HTTP请求。现在,我正试图向google.com发送一个GET请求,并将生成的HTML存储在一个字符串中,以测试Poco,看看它是否符合我的需要。然而,我在这方面有点麻烦。这是我的密码:

试试看
{
Poco::URI(“https://www.google.com");
std::字符串路径(uri.getPathAndQuery());
if(path.empty())path=“/”;
Poco::Net::HTTPSClientSession会话(uri.getHost(),uri.getPort());
Poco::Net::HTTPRequest请求(Poco::Net::HTTPRequest::HTTP_GET,path,Poco::Net::HTTPMessage::HTTP_1_1);
请求。添加(“内容长度”、“0”);
Poco::Net::HTTPResponse响应;
doRequest(会话、请求、响应);
}
捕获(Poco::异常和exc)
{
OutputDebugStringA(exc.displayText().c_str());
}
void-doRequest(Poco::Net::HTTPSClientSession&session,Poco::Net::HTTPRequest&request,Poco::Net::HTTPResponse&response)
{
会话。发送请求(请求);
std::istream&is=会话。接收方响应(响应);
字符串体(std::istreambuf_迭代器(is),{});
message=(LPCWSTR)response.getStatus();
}

我在doRequest的每一行上都设置了断点,但触发的只有前两行。在第二个按钮上单击“继续”后,程序将继续正常运行。我没有得到任何例外或任何东西。我正在添加
内容长度:0
以避免来自Poco的NoMessageException。

如果您想读取正文的所有内容,此
是>>正文
是不够的。它只读取第一个单词,直到第一个空格。例如,您可以通过编写
std::stringbody(std::istreambuf_迭代器(is),{})来读取所有body到字符串。您需要使用https的HTTPSClientSession。我更改了代码以包含这两个更改,但这并没有解决我的问题。现在它只运行doRequest()的第一行。您是否初始化了SSL?本文可能会有所帮助:您知道我如何在VisualStudio2019中做到这一点吗?