当前位置: 首页>>代码示例>>C++>>正文


C++ HTTPClient::setTimeout方法代码示例

本文整理汇总了C++中HTTPClient::setTimeout方法的典型用法代码示例。如果您正苦于以下问题:C++ HTTPClient::setTimeout方法的具体用法?C++ HTTPClient::setTimeout怎么用?C++ HTTPClient::setTimeout使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在HTTPClient的用法示例。


在下文中一共展示了HTTPClient::setTimeout方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: main

int main(int argc, char** argv)
{
	if (argc < 3)
		return usage(argc, argv);

	const long timeout = lexicalCast<long>(argv[1]);

	SocketModule Module;
	try 
	{
		for (int args = 2; args < argc; ++args)
		{
			std::string targetResource(argv[args]);

			HTTPClient<> client;

			client.setKeepAliveTime(300);
			client.setTimeout(timeout, 1);
			client.setUserAgent("Mozilla/4.0 (compatible; MSIE 6.0; "
								"Windows NT 5.1; SV1; .NET CLR 1.0.3705; "
								".NET CLR 1.1.4322)");

			client.setAcceptEncoding("");
			client.addAcceptLanguage("ja");
			client.addAcceptLanguage("en");

			HTTPResult<> result = client.getResource(targetResource.c_str());
			std::cout << "headers: " <<
				result.getResponseHeaders().toString() << std::endl;

			std::vector<unsigned char> resource = result.getResource();

			std::ofstream ofs("savefile.html",
							  std::ios::out |
							  std::ios::binary |
							  std::ios::trunc);
			std::vector<unsigned char>::const_iterator itor =
				resource.begin();
			while (itor != resource.end())
				ofs << *itor++;

			ofs.close();
		}
	} catch (ResponseError& e) {
		std::cout << " raise exception. reason: " <<
			e.what() << std::endl;
	} catch (ConnectionClosedException& /*e*/) {
		std::cout << "connection closed by forign host." << std::endl;
	} catch (SocketException& /*e*/) {
		std::cout << "target server is not found. ";
	} catch (std::exception& e) {
		std::cout << "raise exception. reason: " <<
			e.what() << std::endl;
	}


	return 0;
}
开发者ID:rayfill,项目名称:cpplib,代码行数:58,代码来源:HTTPClientTest.cpp


注:本文中的HTTPClient::setTimeout方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。