POCO C++库学习和分析 -- URI

本文深入探讨了POCO C++库中的URI组件,包括URI的基本概念,以及如何使用POCO::URI和POCO::URIStreamOpener进行资源标识和访问。
摘要由CSDN通过智能技术生成

POCO C++库学习和分析 -- URI (Uniform Resource Identifiers)



1. 概述

          URI( RFC 3986)意为统一资源标记,通常被用来标志web上的资源。
          在Poco库中提供了POCO::URI、POCO::URIStreamFactory、POCO::URIStreamOpener类来对URI信息进行管理。其中POCO::URI用于进行URI操作和存储。URIStreamFactory可以打开一个URI资源,并且把该URI资源和一个输入流相关联。URIStreamOpener类用来设计成对URIStreamFactory进行管理。通过URIStreamFactory和URIStreamOpener可以把对所有资源的读取都适配一个流接口。

          下面是Poco中Uri部分的类图。



2. POCO::URI

          一个URI标志通常包括下列部分:
           Scheme:协议
           Authority:包括了主机地址、端口、用户信息(通常指用户名/密码)
           Path:  路径
           Query:  查询
           Fragment: 内部资源地址

          下面是URI的一些例子:
http    ://    www.google.com    /    search    ?    q=POCO
 |                  |                   |               |
 |                  |                   |               |
Scheme             Host                Path           Query

http    ://    appinf.com    /    poco/docs/Poco.URI.html    #    5589
 |                  |                       |                      |
 |                  |                       |                      |
Scheme             Host                    Path                 Fragment

ftp    ://    anonymous    @    upload.sourceforge.com    /    incoming
 |                  |                       |                      |
 |                  |                       |                      |
Scheme             User                    Host                   Path

          POCO::URI类可以被看成是URI标记的集合。其接口定义如下:

class Foundation_API URI
{
public:
	URI();
		/// Creates an empty URI.

	explicit URI(const std::string& uri);
		/// Parses an URI from the given string. Throws a
		/// SyntaxException if the uri is not valid.
		
	explicit URI(const char* uri);
		/// Parses an
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值