苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

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

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

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

查看: 67348|回复: 13
打印 上一主题 下一主题

[教程] 【HttpHelper万能框架教程】- GET请求

[复制链接]
跳转到指定楼层
楼主
发表于 2014-9-7 09:39:03 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式
           【HttpHelper万能框架教程】- GET请求

导读部分

1.【HttpHelper万能框架】教程目录贴  http://www.sufeinet.com/thread-9989-1-1.html


教程部分


GET是最基本的请求,是使用Http协议进行的一次Get数据发送和接收的过程,就类似于我们在浏览器输入一个URl
例如输入http://www.sufeinet.com 我们会打开网站 苏飞论坛

而GET就是要模拟这一次请求,当然Post请求的原理也是这样的,只在这里介绍一次以后不再介绍

下面看下怎么样使用我的框架来完成这一次发送和接收数据
第一步引入命名空间
[C#] 纯文本查看 复制代码
using CsharpHttpHelper;
using System.Net;


第二部在页面CsharpHttpHelper_Demo下写相关代码
[C#] 纯文本查看 复制代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using CsharpHttpHelper_Demo.Helper;
using CsharpHttpHelper;
using System.Net;

namespace CsharpHttpHelper_Demo
{
    public partial class HttpGet_Demo : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //创建Httphelper对象
            HttpHelper http = new HttpHelper();
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL = "http://www.sufeinet.com",//URL     必需项    
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
                //ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值   
            };
            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            //获取请请求的Html
            string html = result.Html;
            //获取请求的Cookie
            string cookie = result.Cookie;
        }
    }
}


就是这么简单完成了。


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
14
发表于 2021-4-27 15:34:56 | 只看该作者
jollytao 发表于 2015-11-16 20:00
求助站长:

前几天买了“HttpHelper万能框架”,并下载了其中的“CsharpHttpHelper_Demo”后, 测试“Ht ...

百度的首页做了自动跳转设置的
13
 楼主| 发表于 2017-1-13 08:14:09 | 只看该作者
FinalThorn 发表于 2017-1-13 00:02
楼主,在学习框架的时候碰到个编码的问题,请教一下。
如上图所示,在Get方式请求http://httphelper.sufei ...

这个没有什么实际规律,只是一个概率问题,像我这个网页的情况是因为在保存时修改了文件的编码,而我采用的是相信编辑器,因为使用正则取出来的是在文件新建时自己产生的。这个只要你不修改文件属性是不会变的,除非你故意修改,但这个概率很明显要比前者小的多,通过我爬虫得到的数据也是一样的结果,这个正确的概率要大的多。当然 会有一部分人想增加爬虫的难度故意修改,比如我上面的页面。当然 这都是少数,真有这样的手动修改一下就行了。
12
发表于 2017-1-13 00:02:01 | 只看该作者
楼主,在学习框架的时候碰到个编码的问题,请教一下。
如上图所示,在Get方式请求http://httphelper.sufeinet.com/Course.aspx网页的时候,response的ContentType是UTF8,但采用系统默认编码(GBK)解析出来的字符串经过正则表达式匹配出来的却是GBK,按照代码实际运行的逻辑,最终会采用GBK去解析字节数组但得到的会中文乱码,如果使用ContentType的值UTF8去解析,则中文无乱码。
以下是3个问题,
1、啥时候会出现ContentType和解析出来字符串里面的编码不一致的情况呢?
2、楼主是基于什么考虑才不优先使用response里面的ContentType而是先采用系统默认编码去解析呢?
Web编程新手,所以问的问题可能有点浅,麻烦楼主了。
11
发表于 2016-5-31 13:38:36 | 只看该作者
1、我一般把httphelper用在winform里,发送不管是get还是post的时候,需要异步进行的时候,总是太麻烦,需要自己去处理invoke,能否考虑在helper里添加上异步的http请求方式。
2、请求参数能不能采用httpparam键值对的方式发送,而不是用url查询字符串的方式来拼接,太麻烦了
10
发表于 2016-5-31 13:38:34 | 只看该作者
1、我一般把httphelper用在winform里,发送不管是get还是post的时候,需要异步进行的时候,总是太麻烦,需要自己去处理invoke,能否考虑在helper里添加上异步的http请求方式。
2、请求参数能不能采用httpparam键值对的方式发送,而不是用url查询字符串的方式来拼接,太麻烦了
9
发表于 2016-5-2 09:37:20 | 只看该作者
强烈支持楼主ing……
8
发表于 2016-5-2 09:36:53 | 只看该作者
感谢楼主分享,学习中...
7
发表于 2015-11-23 12:55:44 | 只看该作者
受教了学习中……瞬间搞定大BOSS第三方跳转的要求,赞!~
6
发表于 2015-11-16 20:00:48 | 只看该作者
求助站长:

前几天买了“HttpHelper万能框架”,并下载了其中的“CsharpHttpHelper_Demo”后, 测试“HttpGet_Demo.aspx.cs”的时候,执行到下段拿response时,一直出现"Unable to connect to the remote server”的error message, 请问下这个跟我的vs环境有关吗?还是其他?

                //请求数据
                using (response = (HttpWebResponse)request.GetResponse())
                {
                    GetData(item, result);
                }

我用.NET 4.0的操作的,程序正常运行,网页正常打开; 测试其中的demo的时候,用了一下这段在demo中既有的代码:
但是一直报错,不知道为何???把URL改成www.baidu.com啥的,都是一样的错。 求指导啊,先谢谢啦!

            //创建Httphelper对象
            HttpHelper http = new HttpHelper();
            //创建Httphelper参数对象
            HttpItem item = new HttpItem()
            {
                URL = "http://www.sufeinet.com",//URL     必需项   
                Method = "get",//URL     可选项 默认为Get   
                ContentType = "text/html",//返回类型    可选项有默认值   
                //ContentType = "application/x-www-form-urlencoded",//返回类型    可选项有默认值   
            };
            //请求的返回值对象
            HttpResult result = http.GetHtml(item);
            //获取请请求的Html
            string html = result.Html;
            //获取请求的Cookie
            string cookie = result.Cookie;

            //状态码
            HttpStatusCode code = result.StatusCode;
            //状态描述
            string Des = result.StatusDescription;
            if (code == HttpStatusCode.OK)
            {
                //状态为200
            }
您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

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

GMT+8, 2025-6-15 22:30

© 2014-2021

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