主要内容

matlab.net.URI类

包:matlab.net

统一资源标识符(URI)

描述

matlab.net.URI类构造一个网络统一资源标识符(URI),如web地址或URL。一个互联网URI是一个字符串分成组件。每个组件的属性表示URI类。下面的文本显示了属性和它们相关的标点符号,为了简单,用空格分开。空间不出现在编码URI。相关的标点符号不是属性值的一部分。

方案:/ /授权/路径(1)/路径(2)……/路径(结束)?查询#片段

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

UserInfo@主持人:港口

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

所有属性都是可选的。然而,不同的使用可能需要特定的属性集。

消除一个属性及其标点符号从输出字符串,设置属性值[]

创建

描述

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

例子

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

例子

obj = matlab.net.URI (目的地,queryVector)设置查询财产queryVector查询值附加到任何查询参数中指定目的地

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

obj = matlab.net.URI (目的地,queryVector,queryName,queryValue)增加了queryVectorqueryName,queryValue参数查询财产。

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

obj = matlab.net.URI (___“文字”)表明目的地已经编码。使用这个选项如果你复制粘贴一个already-encoded URI,例如,从浏览器的地址栏。直接读取这个URI的属性时,你看到的破解版本。的“文字”选项不允许您构建一个非法的URI。它可以防止reencoding“%”字符。字符必须编码,如“\”' '主机路径仍然percent-encoded。

这个选项没有影响查询(matlab.net.QueryParameter)参数。

输入参数

全部展开

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

例子:https://user: pwd@www.tianjin-qmedu.com: 8000 /产品/ matlab ? abc = def&this = # xyz所有属性

例子:主机和方案属性://www.tianjin-qmedu.com

例子:主机只:/ / www.tianjin-qmedu.com

例子:主机和路径:/ /www.tianjin-qmedu.coms manbetx 845/products/matlab/

例子:道路只有:s manbetx 845产品/ matlab / live-editor

例子:主机和查询:/ /www.tianjin-qmedu.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服务定义queryName,queryValue对,它接受一个请求的一部分。不编码字符queryName

查询的值,指定字符数组,或一个数字,逻辑,或datetime值或数组。不编码字符queryValue

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

格式参数不影响值的格式queryVector论点。

属性

全部展开

URI方案,有时被称为协议,出现之前:/ /角色,指定为一个字符串或一个字符向量。计划总是返回一个字符串。如果不是空的,那么计划必须httphttps。然而,本公约并不执行。MATLAB®不支持其他方案,如万博1manbetx文件

例子:http

例子:https

用户信息,指定为一个字符串或一个字符向量。用户信息出现之前,主机地产紧随其后的是一个@的性格。的字符串方法percent-encodes特殊字符。当设置用户信息,不编码值。

例子:的名字

例子:名称:密码

主机名称,指定为一个字符串或一个字符向量。域名系统(DNS)的值是格式或作为一个互联网协议版本4 (IPv4)或版本6 (IPv6)的地址。的字符串方法percent-encodes字符不允许主机部分的URI。一段字符()不变。当设置主机,不编码值。

例子:www.tianjin-qmedu.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。路径= {“s manbetx 845产品”matlab的};P = uri.Path
P =“产s manbetx 845品”“matlab”
EP = uri.EncodedPath
EP =产s manbetx 845品/ matlab

如果你设置路径一个特征向量或标量字符串包含一个/字符,然后分成部分的价值/字符。结果都是一样的指定字符的字符串或单元阵列向量的向量。

uri。路径=“s manbetx 845产品/ matlab”;P = uri.Path
P =“产s manbetx 845品”“matlab”

总有一个路径段的数量/字符EncodedPath。任何部分都可以是空字符串。如果路径(1)是一个空字符串,那么EncodedPath始于/。如果路径(结束)是一个空字符串,那么EncodedPath结尾/

uri。路径=“/s manbetx 845产品/ matlab /”;EP = uri.EncodedPath
EP = /s manbetx 845产品/ matlab /

当设置路径nonscalar字符串或单元阵列,字符不允许的路径percent-encoded URI的一部分EncodedPath。包括#性格,

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

不编码#的性格。如果你这样做了,然后再编码的字符编码。

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

路径可以相对或绝对。一个绝对路径是一个与多个段,第一段是空的。它是编码为一个字符串开头/字符之后,第二个字符串。这绝对路径对应的定义path-absolute中定义的,RFC 3986 3.3节。一个相对路径的第一个非空的字符串。它是编码没有领先/。例如,创建一个绝对路径:

uri1 = matlab.net.URI;uri1。路径= {“s manbetx 845产品”matlab的};EP = uri1.EncodedPath
EP = /s manbetx 845产品/ matlab

创建一个相对路径:

uri2 = matlab.net.URI;uri2。路径= {“s manbetx 845产品”matlab的};EP = uri2.EncodedPath
EP =产s manbetx 845品/ matlab

如果URI包含一个计划,主机,用户信息港口财产,路径不是空的,然后呢EncodedPath有一个领导/。的/字符分隔开路径从其他属性。因此,区分绝对和相对路径只存在不包含的uri计划,主机,用户信息,或港口属性。例如,uri1是一个绝对路径。

uri1.EncodedPath
ans = /s manbetx 845产品/ matlab

设置主机:

uri1。主机=“www.tianjin-qmedu.com”;disp (string (uri1))
/ /www.tianjin-qmedu.coms manbetx 845/products/matlab

主机的相对路径uri2:

uri2.EncodedPath
ans =产s manbetx 845品/ matlab
uri2。主机=“www.tianjin-qmedu.com”;disp (string (uri2))
/ /www.tianjin-qmedu.coms manbetx 845/products/matlab

创建一个URI路径指向根,集路径string.empty[" " " "]

uri。路径= {“s manbetx 845产品”matlab的};EP = uri.EncodedPath
EP / s manbetx 845matlab / =产品

设置路径一个文件夹,添加一个空字符串结束的向量。本公约添加一个落后/EncodedPath

uri。路径= {“s manbetx 845产品”matlab的};EP = uri.EncodedPath
EP / s manbetx 845matlab / =产品

查询的URI指定为一个向量的matlab.net.QueryParameter对象或一个字符串包含编码查询和一个可选的领先吗?的性格。

方向二次资源,指定为一个字符串或一个字符向量。的字符串方法percent-encodes字符不允许的片段一个URI的一部分。当设置片段,不编码值。

例子:在URI//www.tianjin-qmedu.com/help/matlab/ref/weboptions.html的例子,片段属性是例子

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

路径财产的绝对URI总是作为一个绝对路径和EncodedPath房地产总是包含一个领导/的性格。发送一条消息,URI必须是绝对的,还必须包含一个非空的主机财产。

数据类型:逻辑

权威的URI编码,指定为一个字符串或一个字符向量与标点符号只有在财产非空的出现有关。的格式EncodedAuthority用户信息@主机:港口。设置EncodedAuthority是一个快捷方式设置用户信息,主机,港口属性,除了必须对特殊字符进行编码。

例子:在URIhttps://user: pwd@www.tianjin-qmedu.com: 8000 /产品/ matlab ? abc = def&this = # xyz,EncodedAuthority属性是用户:pwd@www.tianjin-qmedu.com: 8000

编码的路径,指定为一个字符串或一个字符向量。读这个属性来获得路径房地产作为一个编码的字符串,它将出现在编码URI。如果你有一个already-encoded路径作为一个字符串,然后设置EncodedPath财产,而不是路径属性来防止进一步的编码。当阅读EncodedPath,它有一个领导/如果路径不是[]有非空的组件前的URI路径

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

如果没有路径属性在一个URI编码,那么EncodedPath返回一个空字符串,”“。然而,EncodedPath从来都不是一个空数组。

例子:在URI//www.tianjin-qmedu.com/万博 尤文图斯solutions/robotics,EncodedPath属性是/万博 尤文图斯解决方案/机器人

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

例子:在URI//www.tianjin-qmedu.com/万博1manbetxsupport/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.tianjin-qmedu.com”);U。查询= matlab.net.QueryParameter (“问”,“weboptions”);U。路径=“搜索/ site_search.html”;

显示搜索结果包含weboptions

网络(char (U))
U = matlab.net.URI (' / /www.mathworks.cos manbetx万博1manbetx 845m/products/simulink/');U.EncodedURI
ans =字符串" / /www.tianjin-qmedu.com/pros manbetx万博1manbetx 845ducts/simulink/”
介绍了R2016b