android – 如何使用Retrofit发布HTTPS请求?

android – 如何使用Retrofit发布HTTPS请求?,第1张

概述我通过这个构建了一个restAdapter: return new RestAdapter.Builder() .setEndpoint("https://www.xyz.com/") .build() .create(SafeUserApi.class); 然后在SafeUserApi.class(这是一个接口)我有: pu 我通过这个构建了一个restAdapter:
return new RestAdapter.Builder()            .setEndpoint("https://www.xyz.com/")            .build()            .create(SafeUserAPI.class);

然后在SafeUserAPI.class(这是一个接口)我有:

public interface SafeUserAPI {    @POST("/API/userlogin")    voID getUserLogin(@Body UserserLogin userLogin,Callback<LoginResult> cb);}

但它不起作用.我错过了什么?

我试过Postman并且它有效.但在我的设备中却没有.

我导入了这四个库:

compile files('libs/okhttp-2.1.0.jar')compile files('libs/okhttp-urlconnection-2.1.0.jar')compile files('libs/okio-1.0.1.jar')compile files('libs/retrofit-1.8.0.jar')
@R_404_6120@
public static OkhttpClIEnt getUnsafeOkhttpClIEnt() {    try {        // Create a trust manager that does not valIDate certificate chains        final TrustManager[] trustAllCerts = new TrustManager[] { new x509trustmanager() {            @OverrIDe            public voID checkClIEntTrusted(                    java.security.cert.X509Certificate[] chain,String authType) throws CertificateException {            }            @OverrIDe            public voID checkServerTrusted(                    java.security.cert.X509Certificate[] chain,String authType) throws CertificateException {            }            @OverrIDe            public java.security.cert.X509Certificate[] getAcceptedissuers() {                return new java.security.cert.X509Certificate[0];            }        } };        // Install the all-trusting trust manager        final SSLContext sslContext = SSLContext.getInstance("TLS");        sslContext.init(null,trustAllCerts,new java.security.SecureRandom());        // Create an ssl socket factory with our all-trusting manager        final SSLSocketFactory sslSocketFactory = sslContext                .getSocketFactory();        OkhttpClIEnt okhttpClIEnt = new OkhttpClIEnt();        okhttpClIEnt = okhttpClIEnt.newBuilder()                .sslSocketFactory(sslSocketFactory)                .hostnameVerifIEr(org.apache.http.conn.ssl.SSLSocketFactory.ALLOW_ALL_HOSTname_VERIFIER).build();        return okhttpClIEnt;    } catch (Exception e) {        throw new RuntimeException(e);    }}

这应该工作:

Retrofit retrofit = new Retrofit.Builder()    .baseUrl(YOUR_httpS_URL)    .setClIEnt(getUnsafeOkhttpClIEnt())    .build();
总结

以上是内存溢出为你收集整理的android – 如何使用Retrofit发布HTTPS请求?全部内容,希望文章能够帮你解决android – 如何使用Retrofit发布HTTPS请求?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1137469.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-30
下一篇2022-05-30

发表评论

登录后才能评论

评论列表(0条)

    保存