本文整理汇总了C++中HtmlParser::parse方法的典型用法代码示例。如果您正苦于以下问题:C++ HtmlParser::parse方法的具体用法?C++ HtmlParser::parse怎么用?C++ HtmlParser::parse使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类HtmlParser
的用法示例。
在下文中一共展示了HtmlParser::parse方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: realDoUrl
int Tab::realDoUrl(const std::string &url, std::string &location)
{
int ret = -1;
bool ssl = UTIL::startsWith(url, "https");
int port = (ssl)? 443 : 80;
unsigned read_timeout = 5; // sec
std::string host;
try
{
Request req(url);
host = req.host();
m_Client.reset(new HttpClient(read_timeout));
m_Client->setOptionSSL(ssl);
m_Client->connect(host, UTIL::i2s(port));
m_Client->handshake();
std::string request = req.toGetRequsetString();
std::cerr << "\nREQUEST:\n" << request << "\n";
m_Client->write(request);
int bytes = m_Client->read();
std::cerr << "read bytes: " << bytes << "\n";
location = m_Client->getLocation();
ret = m_Client->responseCode();
std::cerr << "\nRESPONSE:\n";
std::cerr << m_Client->getHttpHeaders() << "\n";
//std::cerr << "***\n";
//std::cerr << m_Client->response() << "\n";
HtmlParser parser;
parser.parse(m_Client->response());
std::cerr << "\nPARSER HTML: " << parser.getHtml().size() << " bytes\n";
std::cerr << parser.getHtml() << "\n";
std::cerr << "\nPARSER PLAIN: " << parser.getPlain().size() << " bytes\n";
std::cerr << parser.getPlain() << "\n";
m_Headers = m_Client->getHttpHeaders();
m_Body = parser.getPlain();
//m_Body = parser.getHtml();
m_Links = parser.getLinks();
}
catch(std::exception &e)
{
m_Body = e.what();
m_Body += " [host: " + host + ", port: " + UTIL::i2s(port) + "]";
}
// generate paint event
//this->update();
emit needReloadPage();
return ret;
}