zoukankan      html  css  js  c++  java
  • Httphelper头信息(ContentType)默认为text/html无懈可击

    Httphelper头信息(ContentType)默认为text/html无懈可击
    转 http://www.sufeinet.com/thread-8623-1-1.html

    我发现最近有几个网友提出让我把Httphelper类的,
    ContentType属性默认值 text/html修改为application/x-www-form-urlencoded

    这个问题不在多解释,你们不管怎么说吧,反正不可能修改,除非你们自己修改,这是我最固执的说法,也许你们现在不理解,但我相信等你们懂了什么是最基础的Http就会理解我的。
    下面我来说明一下为什么不修改。
    Httphelper是干什么的




    谁能告诉我。
    我相信提这些问题的人,会说
    模拟登录,
    抓取Ajax,
    模拟登录之后的一些操作,
    用来实现接口,比如QQ,支付宝,充值的等等。

    但是我想告诉你们,你们做这些工作占这个网站或是整个项目的比重的多少。
    你们想想Httphelper是干什么的
    从这里就能想明白。一个网站80%以上的网页就都是text/html 类型的,我相信很少见一个网站整个或者是大部分是application/x-www-form-urlencoded方式来获取数据的吧。


    我来告诉大家Httphelper是做什么的, 
    一句简单的话。

    辅助实现所有Http协议或者是Https协议的通信
    我的方向是:无所不能的爬虫,无所不能的模拟浏览器
    而不是我们狭义的这一点点需求。
    这是从大方向上所不允许的。

    因为自己不懂Http才提出这样的问题。



     为什么这样说,大家向下看。
    Http的最基础组成
    头信息+Get或者是Post传输方法+凭证+传输数据

    头信息
    我一直认为这是Http里最简单最傻瓜的一个,因为他在任意一个抓包软件中都会清楚的显示出来。
    <ignore_js_op> 
    而这里面需要我们注意的并不多,其中最需要我们注意的就是ContentType的属性
    为什么,因为他告诉Http是以什么样的方法进行上传。
    更多的头信息请看这里http://www.sufeinet.com/thread-1866-1-1.html
    在请求的头信息里还有一个UserAgent不过说实话这个一般不需要写的,
    说白了,在Http请求的头信息中,
    只要没有故意要增加的部分,
    就只有这一个参数需要我们修改,需要我们注意。
    然后我了个去,就这一个还是大多数情况下不需要动的。咱们有些人就不知道不懂,不看。
    然后还折腾了半天,先是告诉我,我的Httphelper类有问题。最后又说应该默认为application/x-www-form-urlencoded


    有时候我生气 就不想回复,这个太基础了,还说一些无知的逻辑。我真想说一句话,没文化真可怕,
    但又怕伤了大家的自尊。一直没敢说。于是带气解决问题,言辞犀利。
    但是我实在是不明白的是,明明是因为自己连最基础的都不懂,还在那这那的。

    application/x-www-form-urlencoded 类型的请求才有多少种,Ajax,C#的Hander,别的没多少了吧,而 text/html 的有多少,成千上万,不要因为自己的现下需求,
    或者是自身的学艺不精而,,,想想头信息,这是多么基础的一个东西,
    我感觉懂点Http的人   抓包时这都是必须要看的信息,而有些人,
    还一直在提,我只能说应该好好学习下。
    Httphelper,不光是让你们实现登录,
    抓取数据的,这才占多大点。

    现身说法,不 是乱说


         更让我接受不了的是以自身说法,因为自己经常做登录,接口之类的项目,就以为90%的都是application/x-www-form-urlencoded
    如果只从这个角度看确实是这样,因为这里只有三种接口,Hander,Ajax再加个异步。
    但是你们自己都没有想过吗,你的登录占整个网站的比中多少。点多少个页面。
    我敢说绝对没有JS文件和Css文件多吧,而这种文件都要使用Text/css Text/js之类的头,那你们会不会让我默认为这两种呢?
    有些人告诉和90%我想你知道这个世界上有多少个网站吗?我想没多少人知道吧,我虽然不知道,但是我写爬虫爬取过3600万个网站(就是域名)
    36亿(数据库大上约为320G左右)每天以上的网址。从这里我总结出来的%比,解码方法,参数默认值。如果你每天或者是长这么大第一次听说过这样的数据,
    就不要跟我说什么90%之类的话,因为我只会认为这是你自己乱讲的。没有任何根据
    这也是我开始做去查网(www.7c.com)时创造下来的数据和实践,到现在这个网站也一直在用我的爬虫。我一直在从每天几十亿的数据历练我的类。
    所我我才说占比多少。我感觉我有这个权力,因为我确实在使用

    写这个文章没有针对谁,也不是说想怎么的,只是想让大家通过这个文章认识到一个问题,没有调查就没有发言权,没有实践就不要随意说话
    如果你是来想让你帮你解决问题的,你一上来就说我的类有问题,你想我会安心的帮你解决问题吗,不会,我只会生气不高兴,我感觉这是人之长情,
    毕竟这是免费的服务。我不欠大家的,你们不用一上来就说我这个不行,那个不行的,不行我没逼你们用来着,是你们自己非要用。

    虽然今天的话说的有点重了,不过 我还是要说一下,因为我实在不想再因为这些问题而影响心情,也不希望大家因为这样的问题失去解决问题的机会。
    我喜欢有礼貌的交流和有根据的建议。如果你真的想提建议,我真心的希望能看看什么是Http。或者最少应该明白我为什么这样写代码,不要一上来就说你这不行,应该怎么样。
    总结


        找人办事总得先说几句好话吧,这样别人一高兴,肯定愿意帮你的几率就会大。
    如果是想来找茬的,我看就没有必要了,因为这里我说了算,你占不了什么 上风。呵呵。

    这文章写的  哎,头一回大晚上写文章,还这么郁闷的写。
    算了,大家能听就听不能听也没事,还是一如既往的解决技术问题。

  • 相关阅读:
    MySQL--单表查询
    python库--pandas--Series.str--字符串处理
    如何 grep tab & 如何grep 减号(dash)
    png压缩
    如何无密码登陆远程机器?
    ssh中运行awk
    PHP 时区
    sublime使用
    nginx 50x故障分析
    nginx反向代理异常
  • 原文地址:https://www.cnblogs.com/coky/p/6721657.html
Copyright © 2011-2022 走看看