【发布时间】:2016-09-06 15:33:40
【问题描述】:
在我以前的应用程序版本中,我使用了 Apache 客户端,一切正常并且仍然正常。但由于一些性能提升,我们决定转向 Retrofit。问题是我每次都收到“无法解析主机“xxxxxx”:没有与主机名关联的地址”。
我把这个放在清单里
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
还有什么我忘记的吗?
这是网址:https://www.hbapimanager.azure-api.net/Wallet/CheckNumber
附:我已经为此苦苦挣扎了将近一周
已编辑:这是我的改造工厂类:
private static HttpLoggingInterceptor logging = new HttpLoggingInterceptor()
.setLevel(BuildConfig.DEBUG ? HttpLoggingInterceptor.Level.BODY : HttpLoggingInterceptor.Level.NONE);
private static OkHttpClient.Builder httpClient = new OkHttpClient.Builder()
.addInterceptor(logging);
private static HttpUrl url = new HttpUrl.Builder()
.scheme("https")
.host(Constants.Network.HOST)
.build();
private static Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl(url)
.addConverterFactory(GsonConverterFactory.create());
public static <T> T createRetrofitService(final Class<T> clazz) {
Retrofit retrofit = builder.client(httpClient.build()).build();
return retrofit.create(clazz);
}
这是请求的接口
@Headers({
Constants.Network.HEADER_TYPE,
Constants.Network.HEADER_KEY
})
@POST(Constants.Network.CHECK_NUMBER)
Call<StatusData> postCheckNumber(@Body CheckNumberPoRD checkNumberPoRD);
@Headers({
Constants.Network.HEADER_TYPE,
Constants.Network.HEADER_KEY
})
@GET(Constants.Network.CHECK_NUMBER)
Call<CheckNumberGRD> getCheckNumber(
@Query("PrimaryKey") String primaryKey,
@Query("RowKey") String rowKey
);
我明白了
09-06 16:58:50.958 7229-7283/kz.halykbank.halykewallet D/OkHttp: --> POST https://www.hbapimanager.azure-api.net/Wallet/CheckNumber http/1.1
09-06 16:58:50.959 7229-7283/kz.halykbank.halykewallet D/OkHttp: Content- Type: application/json
09-06 16:58:50.959 7229-7283/kz.halykbank.halykewallet D/OkHttp: Content-Length: 27
09-06 16:58:50.959 7229-7283/kz.halykbank.halykewallet D/OkHttp: Ocp-Apim-Subscription-Key: xxxxxxxxxxxxxxxxxxxxxxxxx
09-06 16:58:50.959 7229-7283/kz.halykbank.halykewallet D/OkHttp: {"phone":"x(xxx)xxx-xx-xx"}
09-06 16:58:50.959 7229-7283/kz.halykbank.halykewallet D/OkHttp: --> END POST (27-byte body)
09-06 16:58:51.666 7229-7283/kz.halykbank.halykewallet D/OkHttp: <-- HTTP FAILED: java.net.UnknownHostException: Unable to resolve host "www.hbapimanager.azure-api.net": No address associated with hostname
【问题讨论】:
-
你能发布更多你为实现改造而编写的代码
-
从改造服务请求中去掉“/”
-
你的基本 URL 和改造服务类是什么
-
@MoshErsan 我添加了网址
-
@EpicPandaForce,我添加了网址
标签: android android-manifest retrofit2