我遇到了一個與poco有關的奇怪問題。我可以很好地構建它,並將其鏈接到測試應用程序。但是,當我下載一個url時,無論我使用哪個url,都會報告一個HostNotFound異常。該文件可以在無處不在的瀏覽器中訪問,並可以在dns中解決....我在解決這個問題時有點不知所措嗎?有什麼想法?未知 地址:192.168.0.1poco httpclientsession即使主機已解決但仍未找到主機錯誤
非權威的答案: 名稱:s3-1.amazonaws.com 地址顯示錯誤 NSLOOKUP s3.amazonaws.com 服務器的機器上
// DNS :72.21.215.196 別名:s3.amazonaws.com s3.a-geo.amazonaws.com
// calling helper
CString host("http://s3.amazonaws.com");
CString path("/mybucket.mycompany.com/myfile.txt");
CString errmsg;
CString data = GetURL(host,path,errmsg);
// poco helper code
CString GetURL(CString host, CString path_query, CString &debmsg)
{
debmsg = CString("");
try
{
// convert request
std::string tmphost((LPCTSTR)host);
std::string tmppath((LPCTSTR)path_query);
// creation session and request
HTTPClientSession session(tmphost,80);
// disable proxy
session.setProxyHost("");
HTTPRequest req(HTTPRequest::HTTP_GET,tmppath,HTTPMessage::HTTP_1_1);
// send request
session.sendRequest(req);
// get response
HTTPResponse res;
std::istream * response = &session.receiveResponse(res);
// convert it back to mfc string
streambuf *pbuf = response->rdbuf();
std::ostringstream ss;
ss << pbuf;
CString data(ss.str().c_str());
return data;
}
catch (Poco::Exception& ex)
{
CString err(ex.displayText().c_str());
debmsg.Format("error getting url: %s%s err: %s",host,path_query,err);
}
return CString("<error>");
}
我有這個問題。遠程端口未打開。如果我的情況,HTTP 80沒有打開,我認爲我打開HTTPS 443,但是我的應用程序邏輯中的一個錯誤是將它指向80。 – Homer6