Jam*_*ruk 273 .net c# http httpwebrequest
我试图HttpWebResponse
从一个返回的对象中获取HTTP状态代码HttpWebRequest
.我希望得到实际数字(200,301,302,404等)而不是文字说明.("Ok","MovedPermanently"等)数字是否隐藏在响应对象中的某个属性中?除了创建一个大开关功能之外的任何想法?谢谢.
HttpWebRequest webRequest = (HttpWebRequest)WebRequest
.Create("http://www.gooogle.com/");
webRequest.AllowAutoRedirect = false;
HttpWebResponse response = (HttpWebResponse)webRequest.GetResponse();
//Returns "MovedPermanently", not 301 which is what I want.
Console.Write(response.StatusCode.ToString());
Run Code Online (Sandbox Code Playgroud)
dtb*_*dtb 379
Console.Write((int)response.StatusCode);
Run Code Online (Sandbox Code Playgroud)
HttpStatusCode(类型response.StatusCode
)是枚举,其中成员的值与HTTP状态代码匹配,例如
public enum HttpStatusCode
{
...
Moved = 301,
OK = 200,
Redirect = 302,
...
}
Run Code Online (Sandbox Code Playgroud)
zel*_*ldi 239
您必须小心,4xx和5xx范围内的服务器响应会抛出WebException.您需要捕获它,然后从WebException对象获取状态代码:
try
{
wResp = (HttpWebResponse)wReq.GetResponse();
wRespStatusCode = wResp.StatusCode;
}
catch (WebException we)
{
wRespStatusCode = ((HttpWebResponse)we.Response).StatusCode;
}
Run Code Online (Sandbox Code Playgroud)
Woj*_*bas 18
根据'dtb',您需要使用HttpStatusCode,但是在'zeldi'之后,您需要特别注意代码响应> = 400.
这对我有用:
HttpWebResponse response = null;
HttpStatusCode statusCode;
try
{
response = (HttpWebResponse)request.GetResponse();
}
catch (WebException we)
{
response = (HttpWebResponse)we.Response;
}
statusCode = response.StatusCode;
Stream dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
sResponse = reader.ReadToEnd();
Console.WriteLine(sResponse);
Console.WriteLine("Response Code: " + (int)statusCode + " - " + statusCode.ToString());
Run Code Online (Sandbox Code Playgroud)
Mar*_*arc 10
只是要挟StatusCode
来int
.
var statusNumber;
try {
response = (HttpWebResponse)request.GetResponse();
// This will have statii from 200 to 30x
statusNumber = (int)response.StatusCode;
}
catch (WebException we) {
// Statii 400 to 50x will be here
statusNumber = (int)we.Response.StatusCode;
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
272273 次 |
最近记录: |