在 C# 中将 URL 与变量连接起来
Concatenate URL with variable in C#
我正在尝试将 URL 与变量连接,然后是 URL 的 "rest"。
它是这样的:
variableName = "1234";
....
var requestMessage = new HttpRequestMessage(HttpMethod.Get, _configuration["MY_BASE_URL" + variableName + "/theRestOfTheUrl"]);
其中"MY_BASE_URL"保存为变量为:"http://mytestsite.com/users/"
但是在执行此操作时出现错误:
"error":"An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set.
我哪里做错了?刚过时:
var requestMessage = new HttpRequestMessage(HttpMethod.Get, _configuration["MY_BASE_URL"]);
而我将 "MY_BASE_URL" 命名为“http://mytestsite.com/users/1234/theRestOfTheUrl” 我没有收到任何错误,但我也能够添加 variableName + 后面的内容,可以选择variableName 是动态的 - 因此我不能将其作为完整的硬编码字符串提供。
_configuration["MY_BASE_URL"]
是一个配置变量,它 returns 你的基础 URL 即 http://mytestsite.com/users/
,现在你需要将变量值附加到它然后硬编码字符串 /theRestOfTheUrl
.
与其将所有内容都写入 _configuration
键,不如将其写入 string interpolation
尝试
string url = $"{_configuration["MY_BASE_URL"]}{variableName}/theRestOfTheUrl";
Console.WriteLine(url); // http://mytestsite.com/users/1234/theRestOfTheUrl
你的代码看起来像
variableName = "1234";
....
string url = $"{_configuration["MY_BASE_URL"]}{variableName}/theRestOfTheUrl";
var requestMessage = new HttpRequestMessage(HttpMethod.Get, url);
POC:.net Fiddle
我正在尝试将 URL 与变量连接,然后是 URL 的 "rest"。
它是这样的:
variableName = "1234";
....
var requestMessage = new HttpRequestMessage(HttpMethod.Get, _configuration["MY_BASE_URL" + variableName + "/theRestOfTheUrl"]);
其中"MY_BASE_URL"保存为变量为:"http://mytestsite.com/users/"
但是在执行此操作时出现错误:
"error":"An invalid request URI was provided. The request URI must either be an absolute URI or BaseAddress must be set.
我哪里做错了?刚过时:
var requestMessage = new HttpRequestMessage(HttpMethod.Get, _configuration["MY_BASE_URL"]);
而我将 "MY_BASE_URL" 命名为“http://mytestsite.com/users/1234/theRestOfTheUrl” 我没有收到任何错误,但我也能够添加 variableName + 后面的内容,可以选择variableName 是动态的 - 因此我不能将其作为完整的硬编码字符串提供。
_configuration["MY_BASE_URL"]
是一个配置变量,它 returns 你的基础 URL 即 http://mytestsite.com/users/
,现在你需要将变量值附加到它然后硬编码字符串 /theRestOfTheUrl
.
与其将所有内容都写入 _configuration
键,不如将其写入 string interpolation
尝试
string url = $"{_configuration["MY_BASE_URL"]}{variableName}/theRestOfTheUrl";
Console.WriteLine(url); // http://mytestsite.com/users/1234/theRestOfTheUrl
你的代码看起来像
variableName = "1234";
....
string url = $"{_configuration["MY_BASE_URL"]}{variableName}/theRestOfTheUrl";
var requestMessage = new HttpRequestMessage(HttpMethod.Get, url);
POC:.net Fiddle