主要内容

matlab.net.URI类

包:matlab.net

统一资源标识符(URI)

描述

matlab.net.URI类构造一个internet统一资源标识符(URI),例如web地址或URL。internet URI是被划分为组件的字符串。类的属性表示每个组件URI类。下面的文本显示了属性及其相关的标点符号,为清晰起见,用空格分隔。空格不会出现在编码的URI中。相关的标点符号不是属性值的一部分。

Scheme: //Authority /Path(1) /Path(2)…/路径(end)

在哪里权威包含这些属性:

UserInfo@主机:端口

使用matlab.net.URI字符串字符方法来创建一个internet URI。这些方法通过向非空属性添加标点符号和转义保留字符来对属性进行编码。

所有属性都是可选的。但是,不同的用途可能需要设置某些属性。

若要从输出字符串中消除属性及其标点符号,请将属性值设置为[]

创建

描述

obj = matlab.net.URI创建一个空URI。

例子

obj = matlab.net.URI(目的地创建指定的URI目的地

例子

obj = matlab.net.URI(目的地queryVector设置查询财产queryVector查询中已指定的任何查询参数都将追加值目的地

obj = matlab.net.URI(目的地queryNamequeryValue添加一个或多个queryNamequeryValue的参数查询财产。

obj = matlab.net.URI(目的地queryVectorqueryNamequeryValue增加了queryVectorqueryNamequeryValue的参数查询财产。

obj = matlab.net.URI(___格式控件中出现数组时的输出格式queryValue论点。您可以使用前面语法中的任何输入参数。

obj = matlab.net.URI(___“文字”)表明目的地已经编码。如果从浏览器的地址栏复制并粘贴已编码的URI,则使用此选项。当您直接读取这个URI的属性时,您将看到经过解码的版本。的“文字”选项不允许您构造非法URI。它可以防止重编码“%”字符。必须始终进行编码的字符,例如“\”而且' '宿主路径,仍然是百分比编码。

此选项对查询matlab.net.QueryParameter)参数。

输入参数

全部展开

目标,指定为字符串或字符向量,指定URI或URI的部分matlab.net.URI对象。如果目的地是一个matlab.net.URI对象,然后目的地必须是唯一的参数。

例子:https://user:pwd@www.tatmou.com:8000/product/matlab?abc=def&this=that#xyz所有属性

例子:主机和Scheme属性://www.tatmou.com

例子:主机只:/ / www.tatmou.com

例子:主机和路径:/ / www.mathworks.co下载188bet金宝搏m/products/matlab/

例子:道路只有:下载188bet金宝搏产品/ matlab / live-editor

例子:主机和查询:/ / www.tatmou.com/search/site_search.html ? q = weboptions

属性,指定为的向量matlab.net.QueryParameter对象。查询的形式是:

name1 = value1&name2 = value2&name3 = value3

例子:matlab.net.QueryParameter (hl,“en”,“即”,“use utf8”,“num”,50)

查询名称,指定为字符串或字符向量。web服务定义了queryNamequeryValue对,它接受作为请求的一部分。不编码字符queryName

查询值,指定为字符数组、数字、逻辑或datetime值或数组。不编码字符queryValue

输出格式,指定为matlab.net.ArrayFormat对象中出现数组时queryValue论点。有关允许的值,请参见ArrayFormat

格式中的值的格式queryVector论点。

属性

全部展开

URI方案,有时称为协议,出现在: / /字符,指定为字符串或字符向量。计划总是返回一个字符串。如果不是空的,那么计划必须httphttps.然而,这个公约并没有强制执行。MATLAB®不支持其他方案,如金宝app文件

例子:http

例子:https

用户信息,指定为字符串或字符向量。用户信息出现在宿主属性后面跟着@的性格。的字符串方法百分比-编码特殊字符。当设置用户信息,不要对值进行编码。

例子:的名字

例子:名称:密码

主机名,指定为字符串或字符向量。DNS (Domain Name System)格式或IPv4 (Internet Protocol version 4)、IPv6 (Internet Protocol version 6)地址。的字符串method percent-对URI的主机部分不允许的字符进行编码。句号字符()不变。当设置宿主,不要对值进行编码。

例子:www.tatmou.com

例子:2222:7344:0db8:0000:0100:8a2e: 0370:85a3IPv6地址

端口号,指定为数字,或表示0-65535范围内的数字的字符串或字符向量,存储为uint16

例子:8000

路径段,指定为字符串或字符串向量或字符向量的字符向量或单元格数组。结果总是一个字符串向量。要查看已编码路径的值,请使用EncodedPath财产。

方法指定URI中的路径EncodedPath财产。EncodedPath一系列的片段是由/字符,每个段都是其中的成员路径

路径(1)/路径(2)(3)/ /路径.../路径(结束)

/中没有出现字符路径,但EncodedPath包含它们。例如,

uri = matlab.net.URI;uri。路径= {“下载188bet金宝搏产品”matlab的};P = uri。路径
P = "下载188bet金宝搏products" "matlab"
EP = uri。EncodedPath
EP = 下载188bet金宝搏products/matlab

如果你设置路径属性的字符向量或标量字符串/字符时,该值将在/字符。其结果与指定字符串向量或字符向量单元格数组相同。

uri。路径=“下载188bet金宝搏产品/ matlab”;P = uri。路径
P = "下载188bet金宝搏products" "matlab"

总还有一个路径段数比/字符EncodedPath.任何段都可以是空字符串。如果路径(1)是空字符串吗EncodedPath始于/.如果路径(结束)是空字符串吗EncodedPath结尾/

uri。路径=“/下载188bet金宝搏产品/ matlab /”;EP = uri。EncodedPath
EP = /下载188bet金宝搏products/matlab/

当设置路径对于非标量字符串或单元格数组,URI的路径部分中不允许的字符是百分比编码的EncodedPath.要包括性格,

uri。路径= {“foo # bar”};EP = uri。EncodedPath
EP = foo%23bar

不要对的性格。如果您这样做,那么编码的字符将再次编码。

uri。路径= {“foo % 23 fbar”};EP = uri。EncodedPath
EP = foo%2523Fbar

路径可以是相对的也可以是绝对的。绝对路径是包含多个段的路径,其第一个段为空。它被编码为以/后跟第二个字符串的字符。这个绝对路径的定义对应于path-absolute,定义为RFC 3986章节3.3.相对路径是第一个字符串非空的路径。它的编码没有前导/.例如,创建一个绝对路径:

uri1 = matlab.net.URI;uri1。路径= {“下载188bet金宝搏产品”matlab的};EP = uri1。EncodedPath
EP = /下载188bet金宝搏products/matlab

创建一个相对路径:

uri = matlab.net.URI;uri2。路径= {“下载188bet金宝搏产品”matlab的};EP = uri2。EncodedPath
EP = 下载188bet金宝搏products/matlab

如果URI包含计划宿主用户信息港口财产,路径不是空的,那么EncodedPath有一个领先的/.的/字符分隔开路径从其他属性。因此,绝对路径和相对路径之间的区别只存在于不包含计划宿主用户信息,或港口属性。例如,uri1是绝对路径。

uri1。EncodedPath
Ans = /下载188bet金宝搏products/matlab

设置宿主

uri1。宿主=“www.tatmou.com”;disp (string (uri1))
/ / www.mathworks.co下载188bet金宝搏m/products/matlab

宿主相对路径uri2

uri2。EncodedPath
Ans = 下载188bet金宝搏products/matlab
uri2。宿主=“www.tatmou.com”;disp (string (uri2))
/ / www.mathworks.co下载188bet金宝搏m/products/matlab

若要创建具有指向根目录的路径的URI,请设置路径string.empty[" " " "]

uri。路径= {“下载188bet金宝搏产品”matlab的};EP = uri。EncodedPath
EP = 下载188bet金宝搏products/matlab/

设置路径对于文件夹,将空字符串添加到向量的末尾。这个约定添加了一个尾随/EncodedPath

uri。路径= {“下载188bet金宝搏产品”matlab的};EP = uri。EncodedPath
EP = 下载188bet金宝搏products/matlab/

URI的查询,指定为的向量matlab.net.QueryParameter对象或包含带有可选前导的已编码查询的字符串?的性格。

指向辅助资源的方向,指定为字符串或字符向量。的字符串method percent-编码URI片段部分不允许的字符。当设置片段,不要对值进行编码。

例子:在URI中//www.tatmou.com/help/matlab/ref/weboptions.html#examples,片段属性是例子

URI是否为绝对的,指定为真正的.绝对URI有一个非空值计划财产。如果URI不是绝对的,那么它就是相对的。对于定义绝对uri,请参阅统一资源标识符(URI):通用语法-章节4.3绝对URI

路径属性总是被视为绝对路径,而EncodedPath属性始终包含前导/的性格。要发送消息,URI必须是绝对的,还必须包含非空宿主财产。

数据类型:逻辑

URI的编码权限部分,指定为字符串或字符向量,只有在属性非空时才出现相关的标点符号。的格式EncodedAuthority用户信息@宿主港口.设置EncodedAuthority是设置用户信息宿主,港口属性,但必须对特殊字符进行编码。

例子:在URI中https://user:pwd@www.tatmou.com:8000/product/matlab?abc=def&this=that#xyz,EncodedAuthority属性是用户:pwd@www.tatmou.com: 8000

已编码的路径,指定为字符串或字符向量。属性路径属性作为一个编码的字符串,因为它将出现在编码的URI中。如果已将路径编码为字符串,则设置EncodedPath属性,而不是路径属性阻止进一步编码。当阅读EncodedPath,它有一个引线/如果路径不是[]之前的URI中有非空组件路径

设置EncodedPath到一个空数组([]string.empty)相当于设置路径到这个值。

如果没有路径属性,则EncodedPath返回一个空字符串,"".然而,EncodedPath从来不是空数组。

例子:在URI中//www.tatmou.com/金宝搏官方网站solutions/robotics,EncodedPath属性是/金宝搏官方网站解决方案/机器人

编码查询,指定为字符串或字符向量。EncodedQuery方法返回与调用相同的值字符串方法。查询财产。设置EncodedQuery等于设置查询财产。

例子:在URI中//www.tatmou.com/金宝appsupport/search_results.html?q= + weboptions +产品:“MATLAB +编译器”,EncodedQuery属性是q = + weboptions +产品:% 22 matlab编译器+ % 22

完整的编码URI,指定为字符串或字符向量。EncodedURI返回与matlab.net.URI.string方法。设置EncodedURI相当于调用了URI构造函数“文字”论点。

方法

全部展开

例子

全部折叠

创建一个URI。

U = matlab.net.URI(“//www.tatmou.com”);查询= matlab.net.QueryParameter(“问”“weboptions”);U.Path =“搜索/ site_search.html”

显示包含的搜索结果weboptions

网络(char (U))
U = matlab.net.URI(/ / www.tatmou.com下载188bet金金宝app宝搏/products/simulink/的);U.EncodedURI
Ans = string "//www.tatmou.com/下载188bet金金宝app宝搏products/simulink/"

版本历史

在R2016b中引入