不带参数名的C#-Uribuilder
我刚刚开始使用.netcore 我需要创建一个url,我遇到了不带参数名的C#-Uribuilder,c#,.net-core,C#,.net Core,我刚刚开始使用.netcore 我需要创建一个url,我遇到了UriBuilder,但是我只能看到将其与命名参数一起使用的示例,例如:localhost?value=abc&other=def,但是我希望构造时不使用参数名称,因此: localhost/abc/def/ 这是可能的吗,我在想可能是下面这样的事情: var request = new HttpRequestMessage(); request.RequestUri = new Uri(_myUrl); request.Method
UriBuilder
,但是我只能看到将其与命名参数一起使用的示例,例如:localhost?value=abc&other=def
,但是我希望构造时不使用参数名称,因此:
localhost/abc/def/
这是可能的吗,我在想可能是下面这样的事情:
var request = new HttpRequestMessage();
request.RequestUri = new Uri(_myUrl);
request.Method = HttpMethod.Get;
var uriBuilder = new UriBuilder(request.RequestUri);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query[0] = "abc"
感谢您的帮助。这不是UriBuilder或URI的工作方式。您试图更改/设置的是URI的名称。这是使用
Path
属性或使用UriBuilder
的相关构造函数完成的。您的示例显示了如何更改/设置查询字符串(基本上是键值对)
如何创建路径不属于UriBuilder类的事务(请参见@Irdis关于选项的注释)
基本上,您可以使用自己选择的字符串操作手动创建路径,然后将其指定给路径
属性,例如:
var b = new UriBuilder(...);
// Set other properties to your requirements
b.Path = "/the/path/ optional with spaces and other stuff/";
然后可以使用UriBuilder.Uri
属性获取完整的Uri,或者使用UriBuilder.ToString()
方法获取正确转义的Uri。对于上面的示例,类似于:
http://localhost/the/path/%20optional%20with%20spaces%20and%20other%20stuff/
这不是UriBuilder或URI的工作方式。您试图更改/设置的是URI的名称。这是使用
Path
属性或使用UriBuilder
的相关构造函数完成的。您的示例显示了如何更改/设置查询字符串(基本上是键值对)
如何创建路径不属于UriBuilder类的事务(请参见@Irdis关于选项的注释)
基本上,您可以使用自己选择的字符串操作手动创建路径,然后将其指定给路径
属性,例如:
var b = new UriBuilder(...);
// Set other properties to your requirements
b.Path = "/the/path/ optional with spaces and other stuff/";
然后可以使用UriBuilder.Uri
属性获取完整的Uri,或者使用UriBuilder.ToString()
方法获取正确转义的Uri。对于上面的示例,类似于:
http://localhost/the/path/%20optional%20with%20spaces%20and%20other%20stuff/
没有收到你的问题,你能举例说明吗?这可能有助于你通过
request.RequestUri.Segments
获得问题,你能举例说明吗?这可能有助于你通过request.RequestUri.Segments