http get & post

来源:互联网 发布:淘宝试衣服软件叫什么 编辑:程序博客网 时间:2024/05/20 02:24

    工作前,对API略知一二,工作后,接触的全是API,百度之,才知道API,即Application Programming Interface,应用程序编程接口,简而言之就是应用程序和软件之间的接口。

    好吧,我也是这样一个桥梁,包装数据,吐给别人。通过http get访问接口,然后再通过http把数据post给第三方,虽说简单,但实践起来也问题百出,我就不摆代码了,貌似也没啥,就把期间遇到的问题总结下。

    1.目前HttpClient有common版和HttpClient4.1,两个版本都用过,没有感觉很大区别,前者使用HttpClient,后者使用 DefaultHttpClient。貌似用common版本的比较多,原因:先入为主。

    2.Get方法传参数时,如果包含中文,对方传参数时,一定要做URLEncode(UTF-8),提供接口方要对参数进行URLDecode(UTF-8),这样保证中文不乱码,当然用post方法,则不会有这种问题,不过post方法不方便的是,不容易调试,必须写个test方法传参数才OK,不像get方法直接访问就能看返回结果是否准确了,貌似curl可以模拟访问哈,还木有试过呢。

    3.Get方法传参数竟然有长度,大小限制,超过4KB,就会报错,post没有,要用get传大数据的话,需要gzip,Chrome的开发者插件真好用呀,F12,network,看大家的headers,基本都是gzip,好吧,网络传输果然需要压缩,这样速度才够给力啊。我这。。。好吧。

    4.请注意呀,即使你用了postmethod,如果你只是把参数放在url里面了,那其实还是get方法呀,你的body里面完全是空的,所以注意要把参数放在<key,value>里面,这样体现Post的强大,才是真正的Post呀。

    5.Post方法,如果网络传输出现问题,如果使用默认的恢复策略,它会重复访问3次,当然这里可以实现自己的恢复策略。

    6.在传输数据的时候很多时候用的是Json格式,大家知道为什么吗?传输对象果然方便呀。

    好困,想睡觉了,下次说说缓存redis,local cache和多线程吧,哈哈~不会排版,好丑呀~

 


 

原创粉丝点击