首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何检查302响应?WebRequest

如何检查302响应?WebRequest
EN

Stack Overflow用户
提问于 2009-09-08 00:05:23
回答 3查看 15.9K关注 0票数 17

使用WebRequest,我想知道我是否得到了

"302已临时移动“

响应,而不是自动获取新的url。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-09-08 00:26:44

如果要检测重定向响应,请自动创建WebRequest并将AllowAutoRedirect属性设置为false,而不是跟踪该响应

代码语言:javascript
复制
HttpWebRequest request = WebRequest.Create(someUrl) as HttpWebRequest;
request.AllowAutoRedirect = false;
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
if (response.StatusCode == HttpStatusCode.Redirect || 
    response.StatusCode == HttpStatusCode.MovedPermanently)
{
    // Do something here...
    string newUrl = response.Headers["Location"];
}
票数 34
EN

Stack Overflow用户

发布于 2009-09-08 00:10:52

如下所示:

代码语言:javascript
复制
HttpWebResponse response;
int code = (int) response.StatusCode;

代码应该是

代码语言:javascript
复制
HttpStatusCode.TemporaryRedirect
票数 3
EN

Stack Overflow用户

发布于 2013-12-14 00:28:06

VB网络代码

代码语言:javascript
复制
Function GetRealUrl(someUrl As String) As String
        Dim req As HttpWebRequest = TryCast(WebRequest.Create(someUrl), HttpWebRequest)
        req.AllowAutoRedirect = False
        Dim response As HttpWebResponse = TryCast(req.GetResponse(), HttpWebResponse)
        If response.StatusCode = HttpStatusCode.Redirect OrElse response.StatusCode = HttpStatusCode.MovedPermanently Then
            ' Do something...
            Dim newUrl As String = response.Headers("Location")
            getrealurl = newUrl
        Else
            getrealurl = someUrl
        End If
End Function
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1391373

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档