use*_*862 8 response http-headers restsharp
我希望有人可以帮我解决我在使用RestSharp时遇到的问题.一切正常; 我正在使用以下代码收到我的回复:
var client = new RestClient("http://mybaseuri.com");
var request = new RestRequest("service/{id}", Method.GET);
request.AddUrlSegment("id", id);
// execute the request
IRestResponse response = client.Execute(request);
Run Code Online (Sandbox Code Playgroud)
我想从响应标题中获取一个值:
string userId = response.Headers["userId"]
Run Code Online (Sandbox Code Playgroud)
我在网上找不到任何例子,任何人都可以帮助从response.Headers对象中获取IList类型的值吗?
我不打算迭代整个集合,只是按名称提取单个值.
Gui*_*OND 12
正如我不知道自己该怎么做一样,我发现这个的帮助下面解决MSDN文章有关IList<T>:
string userId = response.Headers.ToList()
.Find(x => x.Name == "userId")
.Value.ToString();
Run Code Online (Sandbox Code Playgroud)
我需要承认我喜欢在Visual Studio中使用立即窗口或快速监视来进行挖掘,并且知道我正在处理的类型是什么类型的元素:
response.Headers[0]
Run Code Online (Sandbox Code Playgroud)
{用户id = 1024}
名称:"userId"
输入:HttpHeader
价值:"1024"
使用 LINQ:
string userId = response.Headers
.Where(x => x.Name == "userId")
.Select(x => x.Value)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这不需要知道元素的索引,并且处理头部不存在的场景。
小智 -1
如果您知道“userId”的索引,那么您可以执行以下操作:
string userId = response.Headers.ElementAt(indexOfUserId).Value.ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11689 次 |
| 最近记录: |