http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

123
返回列表 发新帖
楼主: 316265183

[求助] 请求飞哥帮忙aspx类型网站post无效怎样解决

[复制链接]
发表于 2015-3-15 17:12:44 | 显示全部楼层
316265183 发表于 2015-3-14 12:53
哥们,帮忙解决解决

联系你QQ,不理我。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
 楼主| 发表于 2015-3-15 20:46:36 | 显示全部楼层
cload 发表于 2015-3-15 17:12
联系你QQ,不理我。

对不住啊,最近都没怎么登QQ,我想要做的就是模拟访问这个网站
http://www.bszb.cn/ezb/cx.aspx
通过这个编号WZT150000045可以查询到珠宝的图片
也就是通过post能够在返回的页面中找到我要的img
但post到的HTML页面中没有图片,一直报验证码的错误
具体的话,你可以看帖子前面的回复。
发表于 2015-3-15 20:53:14 | 显示全部楼层
316265183 发表于 2015-3-15 20:46
对不住啊,最近都没怎么登QQ,我想要做的就是模拟访问这个网站
http://www.bszb.cn/ezb/cx.aspx
通过这 ...

一点问题也没。我测试一切正常。
 楼主| 发表于 2015-3-15 21:12:13 | 显示全部楼层
cload 发表于 2015-3-15 20:53
一点问题也没。我测试一切正常。

能把代码发我看看不
发表于 2015-3-29 21:30:14 | 显示全部楼层
本帖最后由 piaoye 于 2015-3-29 21:47 编辑

这跟asp.net的后台机制有关,将__VIEWSTATE和__EVENTVALIDATION两个隐藏表单以及按钮名称作为Postdata的一部分一起提交即可,注意用 UrlEncode编码

[C#] 纯文本查看 复制代码
HttpHelper http = new HttpHelper(); 
HttpItem item = new HttpItem() 
{ 
URL = "http://www.bszb.cn/ezb/cx.aspx",//URL 必需项 
Method = "get"//URL 可选项 默认为Get 
}; 
HttpResult result = http.GetHtml(item);
string vstate = Regex.Match(result.Html, "<input type=\"hidden\" *.*id=\"__VIEWSTATE\" * .*value=\"(.+)?\" *\\/>", RegexOptions.IgnoreCase).Groups[1].Value;
string evalidation = Regex.Match(result.Html, "<input type=\"hidden\" *.*id=\"__EVENTVALIDATION\" * .*value=\"(.+)?\" *\\/>", RegexOptions.IgnoreCase).Groups[1].Value;
item = new HttpItem() 
{ 
URL = "http://www.bszb.cn/ezb/getVCode.aspx",//URL 必需项 
Method = "get"//URL 可选项 默认为Get 
}; 
result = http.GetHtml(item); 
string code = Regex.Match(result.Html, "(\\d{5,8})", RegexOptions.IgnoreCase).Groups[1].Value;
item = new HttpItem() 
{ 
URL = "http://www.bszb.cn/ezb/cx.aspx",//URL 必需项 
Method = "post",//URL 可选项 默认为Get 
IsToLower = false,//得到的HTML代码是否转成小写 可选项默认转小写 
Cookie = result.Cookie.Replace("path=/; HttpOnly", string.Empty).Replace(";",string.Empty),//字符串Cookie 可选项 
Postdata = string.Format("txtNo={0}&txtCode={1}&__VIEWSTATE={2}&__EVENTVALIDATION={3}&Button1=Button1", "WZT150000045", code,HttpUtility.UrlEncode(vstate),HttpUtility.UrlEncode(evalidation)),
ContentType = "application/x-www-form-urlencoded",//返回类型 可选项有默认值 
Expect100Continue=false, 
ProtocolVersion=HttpVersion.Version11 
}; 
result = http.GetHtml(item); 
string html = result.Html; 
string cookie = result.Cookie;

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-4-30 14:14

© 2014-2021

快速回复 返回顶部 返回列表