private string GetWebString(string url)
{
HttpWebRequest h = (HttpWebRequest)HttpWebRequest.Create(url);
h.AllowAutoRedirect = false;
HttpWebResponse r = (HttpWebResponse)h.GetResponse();
//判断是否重定向 Ambiguous 300 Found 302 Moved 301
if (r.StatusCode == HttpStatusCode.Ambiguous || r.StatusCode == HttpStatusCode.Found || r.StatusCode == HttpStatusCode.Moved)
{
string newUrl = r.Headers["Location"];//获取重定向的网址
if (!string.IsNullOrEmpty(newUrl))
{
//此处做你的处理
r.Close();
//获取源码
return GetWebString(newUrl);
}
}
else
{
using (System.IO.StreamReader read = new System.IO.StreamReader(r.GetResponseStream()))
{
string value = read.ReadToEnd();
r.Close();
return value;
}
}
}
关于.Net 中的 request.AllowAutoRedirect 属性(获取跳转后网页源码)
最新推荐文章于 2026-04-27 13:58:50 发布
本文介绍了一个用于处理HTTP请求的C#方法,该方法能够处理网页重定向,并递归地获取最终重定向地址的内容。此外,还展示了如何读取响应流并返回字符串形式的网页源码。

&spm=1001.2101.3001.5002&articleId=51393627&d=1&t=3&u=2f5d83710d854a129f6324af0cb13359)
3万+

被折叠的 条评论
为什么被折叠?



