如何使用 RESTSharp 获得响应 header?
How get the response header with RESTSharp?
我正在开发一个调用 API 的程序,一切正常,但我必须恢复响应 header 上的一些信息,我该如何恢复这些信息?
我试过类似的方法:string h = response.Headers;
但它不起作用。
var client = new RestClient("https://xxxx.com/");
client.Authenticator = new HttpBasicAuthenticator("user", "password");
var request = new RestRequest("xx/xx/xx", Method.GET);
IRestResponse response = client.Execute(request);
var xml_text = response.Content;
我很确定 RestSharp 中的响应 headers 会作为 collection (IList
) 返回,因此将 h
声明为字符串将不起作用.请参阅来源 here。您可能想尝试将值转换为这样的字符串:
foreach (var h in response.Headers)
{
h.ToString();
}
如果您知道要查找的 header 的名称,您可以像显示的那样使用一些 LINQ here :
string userId = response.Headers
.Where(x => x.Name == "userId")
.Select(x => x.Value)
.FirstOrDefault().ToString();
我正在开发一个调用 API 的程序,一切正常,但我必须恢复响应 header 上的一些信息,我该如何恢复这些信息?
我试过类似的方法:string h = response.Headers;
但它不起作用。
var client = new RestClient("https://xxxx.com/");
client.Authenticator = new HttpBasicAuthenticator("user", "password");
var request = new RestRequest("xx/xx/xx", Method.GET);
IRestResponse response = client.Execute(request);
var xml_text = response.Content;
我很确定 RestSharp 中的响应 headers 会作为 collection (IList
) 返回,因此将 h
声明为字符串将不起作用.请参阅来源 here。您可能想尝试将值转换为这样的字符串:
foreach (var h in response.Headers)
{
h.ToString();
}
如果您知道要查找的 header 的名称,您可以像显示的那样使用一些 LINQ here :
string userId = response.Headers
.Where(x => x.Name == "userId")
.Select(x => x.Value)
.FirstOrDefault().ToString();