苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 4931|回复: 4
打印 上一主题 下一主题

[Winform] 关于抓取网页源码,求苏飞大神帮忙

[复制链接]
跳转到指定楼层
楼主
发表于 2014-6-27 08:50:58 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
连接:http://202.114.153.37/zkb/bkcx/bkcx.asp?database=bk201407&showlx=11
号码:014614110881
这是使用你的Helper类实现的,但是不行。
string url = "http://202.114.153.37/zkb/bkcx/cjlist.asp";
            string data = "showlx=&database=bk201407&tkz=" + number + "&B1=%CC%E1%BD%BB";
            Encoding gb2312 = Encoding.GetEncoding("GB2312");
            HttpResult result = httpHelper.GetHtml(new HttpItem()
            {
                URL = "http://202.114.153.37/zkb/bkcx/cjlist.asp",
               Postdata=data
            });

后来我自己写了一个方法,但是值没有传递进去
string requestString = "showlx=&database=bk201407&tkz=" + number + "&B1=%CC%E1%BD%BB";
            System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(url);
            request.Method = "POST";
            request.ContentLength = requestString.Length;
            request.ContentType = "text/xml";
            gb2312 = Encoding.GetEncoding("gb2312");
            byte[] bytes = Encoding.Default.GetBytes(requestString);
            System.IO.Stream stream = request.GetRequestStream();
            stream.Write(bytes, 0, bytes.Length);
            stream.Close();

            System.Net.HttpWebResponse response;
            System.IO.StreamReader streamReader;
            response = (System.Net.HttpWebResponse)request.GetResponse();
            streamReader = new StreamReader(response.GetResponseStream(), gb2312);
            StringBuilder sb = new StringBuilder();
            char[] respChar = new char[1024];
            int BytesRead = 0;
            BytesRead = streamReader.Read(respChar, 0, 1024);
            while (BytesRead > 0)
            {
                sb.Append(respChar, 0, BytesRead);
                BytesRead = streamReader.Read(respChar, 0, 1024);
            }
            streamReader.Close();

只需要值post进去就好了。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
沙发
发表于 2014-6-27 08:56:59 | 只看该作者
http://www.sufeinet.com/thread-3-1-1.html 我 建议你去看看教程,或者使用我的生成器http://www.sufeinet.com/thread-3690-1-1.html
我可从来没教过你们Post是这样写的,
   HttpResult result = httpHelper.GetHtml(new HttpItem()
            {
                URL = "http://202.114.153.37/zkb/bkcx/cjlist.asp",
               Postdata=data
            });

你随便找我一个例子看看就懂了,你这是用的Get,
板凳
 楼主| 发表于 2014-6-27 09:07:15 | 只看该作者
非常感谢大神,我昨天也这样试过,没有成功,但是昨天的参数设置比今天多,但是今天却成功了。
地板
发表于 2014-6-27 10:35:09 | 只看该作者
楼上的兄弟,能否把你的源码给我看一下。我试了一下。没成功
5
发表于 2014-10-31 14:33:53 | 只看该作者
膜拜中....!
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-20 00:56

© 2014-2021

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