Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >使用OkHttp实现JAVA应用程序的基本身份验证

使用OkHttp实现JAVA应用程序的基本身份验证
EN

Stack Overflow用户
提问于 2020-09-22 09:43:20
回答 1查看 1.5K关注 0票数 1

首先,我希望使用OkHttp对java应用程序进行身份验证,然后在身份验证之后,响应将返回一个会话ID(密钥),我希望在后续的API调用中使用该会话ID(密钥)。下面是我用来实现这一点的代码。

代码语言:javascript
运行
AI代码解释
复制
    String url = "my application url";
    String username = "xxx";  
    String password = "zzz";  
    String userpass = username + ":" + password;  
    String basicAuth = "Basic :" + new String(Base64.getEncoder().encode(userpass.getBytes()));  
   
    OkHttpClient client = new OkHttpClient();
    Response response ;
    Request request = new Request.Builder()
                     .url(url)
                     .addHeader("Authorization", basicAuth)
                     .build();
    response = client.newCall(request).execute();
    
    if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

     System.out.println(response.body().string());

但抛出错误说{"responseStatus":"FAILURE",“responseMessage”:“请求方法'GET‘不支持”,"errorCodes":null,"errors":{"type":"METHOD_NOT_SUPPORTED",“message”:“请求方法'GET’不支持”},"errorType":"GENERAL"}

有人能帮我解决这个问题吗?或者如果任何人有使用okhttp验证java应用程序的任何其他想法,那么请建议...

EN

回答 1

Stack Overflow用户

发布于 2020-09-23 07:48:23

您应该使用帮助器类来避免用户名和密码的大部分逻辑。

https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/Authenticate.java

代码语言:javascript
运行
AI代码解释
复制
            String credential = Credentials.basic("jesse", "password1");
            return response.request().newBuilder()
                .header("Authorization", credential)
                .build();

假设此API是POST,而不是GET,也是如此

https://github.com/square/okhttp/blob/master/samples/guide/src/main/java/okhttp3/recipes/PostString.java

代码语言:javascript
运行
AI代码解释
复制
    Request request = new Request.Builder()
        .url("https://api.github.com/markdown/raw")
        .post(RequestBody.create(postBody, MEDIA_TYPE_MARKDOWN))
        .build();
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64007100

复制
相关文章
网络请求框架OkHttp3全解系列(一):OkHttp的基本使用
现在Android中的网络请求框架,基本都是okhttp和Retrofit一统天下,而Retrofit又是以okhttp为基础,所以系统学习okhttp的使用和原理就很有必要了。
胡飞洋
2020/07/23
30.5K0
网络请求框架OkHttp3全解系列(一):OkHttp的基本使用
OkHttp3的基本用法
这篇文章说下OkHttp的基本用法,是最新的3哦,如果你曾经在网上搜索OkHttp怎么使用发现有些类没有了可能是因为人家说的是2。
Albert陈凯
2018/10/08
4.8K0
使用OkHttp和Java来下载
以下是一个使用OkHttp和Java来下载内容的下载器程序,同时使用了jshk.com.cn/get\_proxy来获取代理服务器。请注意,为了简化代码,我们将忽略一些异常处理和安全性检查。
用户614136809
2023/10/19
2430
OkHttp3 基本用法
这篇文章说下OkHttp的基本用法,是最新的3哦,如果你在网上搜索OkHttp怎么使用发现有些类没有了可能是因为人家说的是2。
一个会写诗的程序员
2018/08/17
7510
okhttp的使用介绍
4.2.0:要求 Android 5.0+ (API level 21+) and on Java 8+。
103style
2022/12/19
5250
使用JAX-WS进行应用程序身份验证「建议收藏」
在JAX-WS中处理身份验证的常用方法之一是客户端提供“用户名”和“密码”,将其附加在SOAP请求标头中并发送到服务器,服务器解析SOAP文档并检索提供的“用户名”和“密码”从请求标头中进行,并从数据库中进行验证,或者使用其他任何方法。
全栈程序员站长
2022/09/14
1.4K0
OKHttp使用解析
OKHttp 是一套处理 HTTP 网络请求的依赖库,由 Square 公司设计研发并开源,目前可以在 Java 和 Kotlin 中使用,现在几乎已经占据了所有的网络请求操作。
摸鱼的G
2023/02/22
5280
OkHttp使用详解
_当然在开始之前,我们还要先在项目中添加OkHttp的依赖库,至于怎么在AndroidStudio中给项目添加OkHTTP依赖,这里将不再赘述。另外,OkHttp中使用了建造者模式,如果对建造者模式不了解,可以看看这篇博客设计模式之建造者模式_**
做个快乐的码农
2021/12/03
11.9K0
OkHttp使用详解
OkHttp简单使用
OkHttp是一个优秀的网络请求框架,目前主流已经替换httpclient, HttpURLConnection 使用方式;
知识浅谈
2021/10/19
4620
java方法的基本使用
main方法是由系统调用的方法,我们常常在main方法中调用其他方法来构建整个框架
秋落雨微凉
2022/10/25
2630
Java:StringBuilder的基本使用
StringBuilder表面看起来是用来拼接、处理字符串的一个工具类,但它的内部实现其实是处理字符序列。
全栈程序员站长
2022/09/09
3130
Java链表的基本使用
链表是一种根据元素节点逻辑关系排列起来的一种数据结构。利用链表可以保存多个数据,这一点类似于数组的概念,但是数组本身有一个缺点—— 数组的长度固定,不可改变,在长度固定的情况下首选的肯定是数组,但是在现实的开发之中往往要保存的内容长度是不确定的,那么此时就可以利用链表这样的结构来代替数组的使用。
全栈程序员站长
2022/08/18
4830
Java线程的基本使用
在Java中使用多线程,本质上还是对Thread对象的操作。线程池只是为了方便对线程的管理,避免频繁的创建和销毁线程带来不必要的系统开销,内部通过指定的线程数和阻塞队列实现。
spilledyear
2019/12/24
5940
Tip | OkHttp使用
另外注意OkHttp可以把最后执行的execute()方法换成enqueue(callback), 即调用enqueue()并接收一个框架提供的okhttp3.Callback接口;
凌川江雪
2019/06/11
8080
OkHttp 使用示例
可以用来下载文件,打印header,打印body。string()方法对于小文档的响应来说是个既方便又高效的方法。但是如果一个文档太大(大于1M),就不要使用string()方法了,因为这个方法会把整个文档加载到内存中,在这种情况下可以把body当作流来处理。
代码拾遗
2018/07/24
2.8K0
自己动手实现OkHttp
在Android、Java开发领域中,相信大家都听过或者在使用Square家大名鼎鼎的网络请求库:OkHttp ,当前多数著名的开源项目如 Fresco、Glide、 Picasso、 Retrofit都在使用OkHttp,这足以说明其质量,而且该项目仍处在不断维护中。
Android技术干货分享
2019/04/25
7440
自己动手实现OkHttp
Java之数组的基本使用
文章目录 1. 为什么需要数组 1.1 数组介绍 1.2 数组快速入门 2. 数组的使用 2.1 动态初始化数组 2.2 数组静态初始化 3. 数组的使用注意事项和细节 4. 数组的应用案例 1.
兮动人
2021/06/11
3510
Java之数组的基本使用
点击加载更多

相似问题

改进和OkHttp基本身份验证

31

具有基本身份验证的Android OkHttp

135

OkHttp添加基本身份验证标头

23

如何使用OkHttp 3.2.0在Picasso 2.5.2中添加基本身份验证

11

用HttpClient实现Java中的Http基本身份验证?

6147
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档