.Net Core 3.1,HttpWebRequest
嗨!
我需要请求一些URL https://domain:443/something (外部需求),但是Uri.ToString()从Uri中删除端口。
因此,我需要得到"POST https://domain:443/something HTTP/1.1“
谢谢!
发布于 2020-03-29 12:35:29
当端口是该方案的默认端口时,此方法返回的字符串不包含端口信息。
来源:https://learn.microsoft.com/en-us/dotnet/api/system.uri.tostring?view=netcore-3.1
如果要将端口设置为超过443,然后调用ToString(),则将显示端口号。
OriginalString属性将显示传递给构造函数的原始字符串(带有端口号)。
编辑:端口仍然存储在Uri对象上,只是ToString()没有显示;如果查看Uri上的Port属性的值,就会看到它被设置为423。在Uri中使用此HttpWebRequest对象将导致在端口443上发出请求。
正如其他人所说,如果您使用的是端口443,那么您不需要担心所有这些,因为端口443是https的默认端口。
发布于 2020-03-29 12:37:35
如果您自己构建Uri,则可以使用以下代码,它总是返回最初传递给构造函数的内容:
var myUri = new Uri("https://domain:443/something");
var myString = myUri.OriginalString;https://stackoverflow.com/questions/60914191
复制相似问题