Topyuluo


  • 首页

  • 归档

  • 标签

  • 搜索
close
Topyuluo

httpclient 4.5.2 学习随笔(4)

发表于 2017-01-09 | 分类于 -HTTP

代理认证是爬虫的利器,现在稍微有一点规模的网站,反爬虫程序多少都会有一个点,只要程序请求的速度稍微快了一点,本地ip 就会被干掉,httpclient 作为下载网页资源的中干力量,多数爬虫都是使用httpclient 来下载,本章我们就来看一下httpclient的代理机制。

HTTP 认证

任何用户认证的过程,都需要一系列的凭证来确定用户的身份。最简单的用户凭证可以是用户名和密码这种形式。UsernamePasswordCredentials这个类可以用来表示这种情况,这种凭据包含明文的用户名和密码。这个类对于HTTP标准规范中定义的认证模式来说已经足够了。

阅读全文 »
Topyuluo

httpclient 4.5.2 学习随笔(3)

发表于 2017-01-09 | 分类于 -HTTP

连接管理

两个主机之间建立的过程是很复杂的,包括了两个终端之间许多数据包的交换,会消耗掉大量的时间。对于很小的HTTP报文传输,TCP/IP的握手环节也是必不可少的。如果已有的链接能够重复使用,来执行多个请求,将会加大程序的数据吞吐量。HttpClient完全地支持连接持久化。

连接路由

HttpClient能够直接建立连接到目标主机,或者通过路由,但这会涉及多个中间连接–也被称为“一跳”。HttpClient 区分连接路由plain,tunneled和laryed。连接到目标主机的隧道使用多个中间代理,被称为代理链。

  • 直接连接到目标主机或仅仅有一个代理的是plain路由
  • 通过一个代理或者代理链连到目标主机是tunneled路由,没有代理的路由不是tunneled路由
  • 通过已有连接加上协议分层是 layered
    阅读全文 »
Topyuluo

httpclient 4.5.2 学习随笔(2)

发表于 2016-12-29 | 分类于 -HTTP

HTML表单

许多应用需要模仿一个登陆HTML表单的过程,比如:为了登陆一个WEB应用或者提交输入的数据。Httpclient 早就为我们准备好了,提供了UrlEncodedFormEntity类来简化操作。
我们来看一下核心的代码:

1
2
3
4
List<NameValuePair> list = new ArrayList<>() ;
list.add(new BasicNameValuePair("name" ,"zhangsan"));
list.add(new BasicNameValuePair("age" ,"18"));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(list ,Consts.UTF_8) ;

阅读全文 »
Topyuluo

httpclient 4.5.2 学习随笔(1)

发表于 2016-12-19 | 分类于 -HTTP

疑惑的地方

刚开始接触httpclient的同学可能会比较疑惑,因为你发现创建httpclient的方式有两种:

  1. HttpClient client = new HttpClient();
  2. CloseableHttpClient httpclient = HttpClients.createDefault();

到底该使用那种方式来创建httpclient,或者使用httpclient 又该导入哪些包。标号1中,是commons-httpclient 版本的创建方式,标号2是 httpclient的版本。这两个版本都可以处理http请求。我查阅了一下apach的官网看到了这样的一句话:

The Commons HttpClient project is now end of life, and is no longer being developed. It has been replaced by the Apache HttpComponents project in its HttpClient and HttpCore modules, which offer better performance and more flexibility.

阅读全文 »
Topyuluo

Http 协议简析

发表于 2016-12-18 | 分类于 HTTP

引言

HTTP是一个属于应用层的面向兑现的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它与1990年提出。目前使用的版本是HTTP/1.1版本。

HTTP协议

协议是指两台计算机之间进行通信必须共同遵守的规定或者规则。超文本传输协议是一种通信协议,它允许将超文本标记语言文档从web服务器传送到客户端的浏览器。

阅读全文 »
Topyuluo

博客主题配置、定制

发表于 2016-12-12 | 分类于 博客

上一篇文章中,成功的完成了博客的搭建,不得不说,就我个人来言,官方默认的主题真实太丑,作为一个追求简约,喜欢简单布局的人,真的是一种精神折磨,太让人受不了了。经过比较最终选择了精于心,简于形的Next主题。站点和主题都有配置文件_config.yml ,为了便于区分,博客根目录的配置文件我们称为站点配置,主题的配置文件我们称为主题配置文件。

阅读全文 »
Topyuluo

搭建个人博客

发表于 2016-12-12 | 分类于 博客

前言

很久之前就像要一个自己的博客,想在这个浩瀚的网络上,能有一个自己的小家,简单的写写文章,记录一下自己的心路历程。虽然有各种博客,但是风格都是官方定好的,完全没有自己发挥的空间。 虽然wordpress可以搭建个人博客,但是服务器空间域名等都需要钱来维护,而且wordpress使用起来也不是很爽。直到发现了githubpage和hexo。一颗躁动的心又要起航了。

阅读全文 »
Topyuluo

Hello World

发表于 2016-12-12

Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.

阅读全文 »
YuLuo

YuLuo

   一只鸿雁当空飞呀飞    策马奔腾向前永不悔

8 日志
3 分类
2 标签
RSS
GitHub Twitter
© 2016 - 2017 YuLuo
由 Hexo 强力驱动
主题 - NexT.Pisces