如何在GET请求中获取标头值?

时间:2015-08-31 22:38:26

标签: c# http-headers httpwebrequest webrequest

System.Net.WebRequest req = System.Net.WebRequest.Create(URL);
req.Proxy = null;
System.Net.WebResponse resp = req.GetResponse();
System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream());
string result = sr.ReadToEnd().Trim();

我有这个代码在我的URL上发出GET请求并返回JSON数据。但是,我还需要从中获取标头值。

URL的输出示例如下:

Content-Type: application/json
Content-Language: en
Expires: Sat, 01 Jan 2000 00:00:00 GMT
Vary: Cookie, Accept-Language
Pragma: no-cache
Cache-Control: private, no-cache, no-store, must-revalidate
Set-Cookie: csrftoken=66161e4f97cbf771199ff78cfeea835e; expires=Sat, 20-Feb-2016 06:49:03 GMT; Max-Age=31449600; Path=/
Set-Cookie: mid=VOgqXwABAAHBumwiwEqLc2ScukeD; expires=Fri, 16-Feb-2035 06:49:03 GMT; Max-Age=630720000; Path=/
Connection: close
Content-Length: 108

{"status":"ok","shift":18,"header":"638wprvx7lg5Um0dZzBAKfjIkML12ChQ","edges":100,"iterations":10,"size":42}

使用我的代码,我可以获得最后返回的JSON数据,但我还需要标题。我怎样才能做到这一点?感谢。

2 个答案:

答案 0 :(得分:1)

您可以使用HttpRequest的Headers属性 Ref

resp.Headers

获取响应的标题。

答案 1 :(得分:0)

HttpWebRequest有一个名为Headers的内置属性。

请在这里查看MSDN页面: https://msdn.microsoft.com/en-us/library/system.net.httpwebrequest.headers(v=vs.110).aspx

在页面底部,您将找到一个非常简单的代码示例,可以帮助您入门!