HTTP

A collection of 7 posts
Android

Retrofit、Volley、HttpClient比较

Retrofit作为现在大家用的最多HTTP请求框架,非常流行,Github上star 3w+。它为什么能超越Volley、HTTPClient能够一枝独秀呢?那先看看其他两个HTTP栈的实现。 HTTPClient Java界老牌HTTP栈实现,由Apache维护,它支持HTTP1.0/1.1、极其丰富的API来支持各种子协议,代码庞大臃肿也变成了它的缺点,虽然它的创建一开始是为了弥补Java SDK中java.net包HTTP请求的简单实现,Android在6.0以后彻底弃用了它,转而推荐使用HTTPURLConnection。 Volley 作为Google官方开源的一款HTTP栈,它支持切换HTTPURLConnection、HTTPClient底层协议栈的切换,同时提供了请求线程池、缓存的支持,刚一推出也是收获许多赞赏,但是它就像G家好多产品一样,几年一次的维护和有些bug都需要使用方去维护解决,都是开发者逐渐抛弃的原因。虽然从Volley开始,这些HTTP栈的实现都在逐渐向上层实现,因为不管是Android、iOS大部分App的网络交互都是Restful-API的实现,
3 min read
HTTP

博客正式启动HTTPS服务

博客从今天开始正式迁移至HTTPS服务,虽然国内各种阻挠SSH登录,但还是配置好了。 COMODO Positive SSL+Apache Httpd2.4+Wordpress配置,抽空详细写一下这个过程,在G面前你不得不用各种奇怪的办法曲线救国,实属无奈~ 环境:Ubuntu+Apache httpd+Wordpress 写一下具体的步骤: 1、选择SSL证书类型 namecheap上列出了四家证书注册商。以Comodo为例,它提供多达14个类型的证书,证书的差别在是否为单证书认证单域名、单证书认证多级域名,单证书认证多二级域名,多域名认证以及担保金额差异、服务支持差异、是否显示Trust Logo、128bit或者256bit加密区别等等。对于个人博客网站可能只需要单二级域名或者单三级域名的SSL认证,所以使用PositiveSSL、PositiveSSL Wildcard是最佳选择,如果是企业支付、电子商务服务就需要更高级别的SSL证书,nitrohsu.com使用的是PositiveSSL,价格上也是Comodo中最便宜的每年10刀。 2、生成CSR(Certifi
4 min read
HTTP

Burp Suite简明教程及代理配置

1. What Is 2. Editions 3. Preconditions 4. Tutorial One: Host Binding 5. Tutorial Two: SSL Pass 6. Tutorial Three: Proxy 7. Config Proxy-Windows 8. Config Proxy-OS X 9. Config Proxy-Android 10. Config Proxy-iOS 11. Config Proxy-Windows Phone * What Is WEB攻击工具? 网络爬虫? 漏洞检测工具? 代理服务器? 冷兵器? 这些它都可以完成,功能的区别在于内心的底线,你懂得! * Editions Free
4 min read
HTTP

浅析宽带运营商劫持

今天请求公司主站裸域会导致莫名奇妙的跳转到yiqifa.com然后再跳转回www域的诡异问题,清理Cookies、更换DNS均无效,郁闷!在公司群里讨论了一下大概可以锁定为宽带运营商劫持,由于之前安装了Wireshark也没怎么用,正好出现类似问题,使用HTTP抓包工具分析再好不过了。关闭大部分的可能产生网络连接的软件,Start&Action! 去掉正常的请求响应包,锁定到302请求,依次向下查看,果然发现了一些猫腻。截图如下: 96号 百度HM请求包61.135.185.140 URL:http://hm.baidu.com/h.js?ca88bf7b092f300a228b2c153a0a9fc8 97号 百度HM响应包61.135.185.140 HTTP 302 Location= http://122.141.234.60:51234/bdpop.sl.php?http://hm.baidu.
2 min read
Android

HttpClient 4.3中Https的使用方法

开发Android版Do+新浪微博客户端 [https://play.google.com/store/apps/details?id=com.n2hsu.doplus.weibo] 时使用到了HTTPClient库,当时刚刚接触API接口开发很多都不懂,直接调用HTTPS时直接报证书错误,后来查找资料发现,HTTPClient在请求HTTPS时也需要证书认证。通过自定义HTTPClient顺利实现了接口调用。最近在做另外一个项目,也会通过HTTPClient来调用第三方的API,所以又查看了一下HTTPClient的源码,把HTTPS的请求方式重新梳理一下。 注意:Android项目中内嵌的HTTPClient库版本为4.2.3,详见此处。下面介绍中使用的库为4.3,两者之间有些差异。4.3当前为开发版,谨慎使用。 以新浪微博API为例, 1、通过浏览器下载https://api.weibo.com的证书 Chrome浏览器,地址栏中键入“https://api.weibo.com/oauth2/authorize ”,点击左侧绿色锁状图标,
3 min read
HTTP

proxy方式连接httpd与tomcat

这几天一直在微信公众平台的开发,由于服务器验证现在仅支持80端口,本博客又架设在Httpd服务器,80端口占用无法再分配给Tomcat使用,所以就开始考虑Tomcat与Httpd的连接问题。 目前主要有三种方式,1、JK;2、http_proxy;3、ajp_proxy JK方式是通过mod_jk来完成服务器端代码解析的一种方式,也是当前主流的连接方式,鉴于mod_jk已经停止开发,而且配置较为繁琐,遂没有使用它。 http_proxy是通过端口映射将某虚拟主机域下的部分网页解析交给监听8080端口的tomcat来处理,配置起来简单,方便使用,故采用这种方式。 请确保proxy、http_proxy的开启,键入以下命令确认 a2enmod proxy a2enmod proxy_http service apache2 reload 在site-available中添加额外的虚拟主机文件mysite.com,内容如下 ServerAdmin XXX@XXXX.com ServerName xxxxx.example.
1 min read
Android

新浪微博上传图片---Android代码示例

在做新浪微博客户端上传图片时,API的解释一直很不给力,由于上传图片必须模拟HttpClient的行为模式,导致移动客户端的上传图片模块开发比较棘手。无奈只能旁征博引,参考其他资料,以下代码在Android平台下测试已经通过。 参考资料:人人网API [http://wiki.dev.renren.com/wiki/Photos.upload]、腾讯微博API [http://wiki.open.t.qq.com/index.php/API%E6%96%87%E6%A1%A3/%E5%BE%AE%E5%8D%9A%E7%9B%B8%E5%85%B3/%E5%8F%91%E8%A1%
2 min read