【HttpHelper万能框架教程】- 获取URL重定向(302,301)后的URL网址
导读部分
【HttpHelper万能框架】教程目录贴 http://www.sufeinet.com/thread-9989-1-1.html
本功能可在线测试http://tool.sufeinet.com/HttpHel ... http://sufeinet.com
教程部分
有时候我们在请求一个网址时,会出现类似于302这样的自动跳转,就是你本来访问的是A网站,但是访问时A网站自动跳转到了B网站
这个时候我们有两种选择,第一种是跟随跳转,这种情况是用于不需要验证Cookie
还有一种是手动跳转,就是先设置不跳转,手动获取要跳转到的URl后,然后带上Cooikie去跳转
这种情况用的最多的是登录成功时使用
下面我来说下万能框架是怎么解决这种情况的。
第一步引入命名空间
[C#] 纯文本查看 复制代码 using CsharpHttpHelper;
第二部在页面下写相关代码 第一种情况自动跳转
[C#] 纯文本查看 复制代码 //创建Httphelper对象
HttpHelper http = new HttpHelper();
//创建Httphelper参数对象
HttpItem item = new HttpItem()
{
URL = "http://sufeinet.com",//URL 必需项
Method = "get",//URL 可选项 默认为Get
ContentType = "text/html",//返回类型 可选项有默认值
Allowautoredirect = true//默认为False就是不根据重定向自动跳转
};
//请求的返回值对象
HttpResult result = http.GetHtml(item);
//获取请请求的Html
string html = result.Html;
//获取请求的Cookie
string cookie = result.Cookie;
这样虽然你访问的是http://sufeinet.com 但其实他们自动跳转到http://www.sufeinet.com
下面看第二种情况
[C#] 纯文本查看 复制代码 //创建Httphelper对象
HttpHelper http = new HttpHelper();
//创建Httphelper参数对象
HttpItem item = new HttpItem()
{
URL = "http://sufeinet.com",//URL 必需项
Method = "get",//URL 可选项 默认为Get
ContentType = "text/html",//返回类型 可选项有默认值
Allowautoredirect = false//默认为False就是不根据重定向自动跳转
};
//请求的返回值对象
HttpResult result = http.GetHtml(item);
//获取请求的Cookie
string cookie = result.Cookie;
//获取302跳转URl
string redirectUrl = result.RedirectUrl;
item = new HttpItem()
{
URL = redirectUrl,//URL 必需项
Method = "get",//URL 可选项 默认为Get
ContentType = "text/html",//返回类型 可选项有默认值
Cookie = cookie
};
//请求的返回值对象
result = http.GetHtml(item);
//获取请请求的Html
string html = result.Html;
//获取请求的Cookie
cookie = result.Cookie;
大家只要记住这一句
[C#] 纯文本查看 复制代码 //获取302跳转URl
string redirectUrl = result.RedirectUrl;
是获取重定向地址的就行了,
但是这个只有在Allowautoredirect = false时才有可能出现。
使用万能框架就是这么简单,你只需要简单的一个配置就可以了。
|