专栏首页Albert陈凯2018-09-28 Ok2Curl, 将OkHttp请求转换为curl日志

2018-09-28 Ok2Curl, 将OkHttp请求转换为curl日志

源代码名称:Ok2Curl* 源代码网址:http://www.github.com/mrmike/Ok2Curl* Ok2Curl源代码文档 Ok2Curl源代码下载

Ok2Curl Sample

Repository

Gradle

repositories {
 jcenter()
}
dependencies {
 compile 'com.github.mrmike:Ok2Curl:0.4.5'}
// https://mvnrepository.com/artifact/com.github.mrmike/ok2curl
compile group: 'com.github.mrmike', name: 'ok2curl', version: '0.4.5'

Maven

   <repositories>
        <repository>
            <id>milestone</id>
            <name>spring milestone</name>
            <url>http://repo.spring.io/libs-milestone/</url>
        </repository>
    </repositories>
<!-- https://mvnrepository.com/artifact/com.github.mrmike/ok2curl -->
<dependency>
    <groupId>com.github.mrmike</groupId>
    <artifactId>ok2curl</artifactId>
    <version>0.4.5</version>
</dependency>

如果你没有用Maven 或者gradle 来管理依赖请把下面4个文件放到你的lib目录里面

image.png

    public static void main(String[] args) {
        OkHttpClient okHttp = new OkHttpClient.Builder()
                .readTimeout(30, TimeUnit.SECONDS)
                .addNetworkInterceptor(new CurlInterceptor(new Loggable() {
                    @Override
                    public void log(String message) {
                        log.error(message);
                    }
                })).build();


        Request request = new Request.Builder().url("http://www.baidu.com").build();

        try {
            Response response = okHttp.newCall(request).execute();

            log.debug(response.body().string());
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
curl -X GET -H "Host:www.baidu.com" -H "Connection:Keep-Alive" -H "Accept-Encoding:gzip" -H "User-Agent:okhttp/3.11.0" "http://www.baidu.com/"

直接在Terminal中输入会乱码,加个参数就好了

curl --compressed -X GET -H "Host:www.baidu.com" -H "Connection:Keep-Alive" -H "Accept-Encoding:gzip" -H "User-Agent:okhttp/3.8.1" "http://www.baidu.com/"

当然去掉-H "Accept-Encoding:gzip" 不通过gzip压缩就不会乱码了

curl -X GET -H "Host:www.baidu.com" -H "Connection:Keep-Alive"  -H "User-Agent:okhttp/3.11.0" "http://www.baidu.com/"

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • VSCode的快捷键

    |快捷键|作用| |Alt + Click| 插入光标-支持多个| |Ctrl + Alt + up/down |上下插入光标-支持多个| |Ctr...

    Huramkin
  • DNSCrypt-Proxy的使用

    DNSCrypt通过加密DNS服务器通信,来实现保护用户的目的。如防止运营商的DNS劫持,广告跟踪植入,保护个人隐私。

    Huramkin
  • 在Telegram搭建一个订阅机器人

    如何创建机器人自行搜索 这里我刚刚创建了个机器人@PushRss_Bot 获取到了Token 进入这个目录

    Huramkin
  • Laravel-Action 对代码的改造

    以往写过俩篇文章 [积德篇] 如何少写PHP “烂”代码 https://blog.fastrun.cn/2018/08/15/1-51/ 举枪消灭”烂代...

    CrazyCodes
  • 13个不容错过的Java项目

    GitHub可谓一座程序开发的大宝库,有些素材值得fork,有些则能帮助我们改进自有代码或者学习编程技能。无论如何,开发工作当中我们几乎不可能绕得开GitHub...

    哲洛不闹
  • 如何成为一名合格的(Java)程序员

    在过去几年中,政府和社会一直在努力使“Geek”再次酷起来。总统和总理提倡计算机程序设计成为学校课程的一部分。今天,除了政治,成为一个合格的程序员比以往任何时候...

    哲洛不闹
  • 怎么样才算一个靠谱的程序员!

    我的上一份工作是在一家世界500强金融集团担任架构师,当时,公司的IT团队规模将近2000人。与其他IT公司一样,程序员的流动性也比较高,而作为架构师,我需要为...

    Java后端技术
  • 2015年最热门编程语言岗位需求及薪资分析

    上一回我们讨论了2015年需要学习的最好的编程语言——当我们分析一些流行网站,如GitHub和StackOverflow时,发现JavaScript、Java、...

    哲洛不闹
  • 2016年百度校招小结:我做技术面试官的一些思考

    一个多月前,作为技术面试官参加了百度 2016 年的校园招聘深圳站面试,主要目标学生是清华/北大/哈工大/中科院在本地的研究生院(实际上并没有设限,有不少江西广...

    哲洛不闹
  • 这些优秀的 Spring Cloud 开源软件,你知道几个?

    参考来源:https://github.com/SpringForAll/、Spring Cloud中文网https://springcloud.cc/

    Java后端技术

扫码关注云+社区

领取腾讯云代金券