1
    ```protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main3);
    ctx=getApplicationContext();
    txtString= (TextView)findViewById(R.id.txtString);
    httpClient = new OkHttpClient();
    try {
        sendGETT();
            }
    catch (Exception e)
    {
        e.printStackTrace();
    }
}
protected void sendGETT() throws IOException {
    httpClient = new OkHttpClient();
    OkHttpClient client = new OkHttpClient();

    Request request = new Request.Builder()
            .url("https://devru-gaana-v1.p.rapidapi.com/featuredAlbums.php")
            .get()
            .addHeader("x-rapidapi-host", "devru-gaana-v1.p.rapidapi.com")
            .addHeader("x-rapidapi-key", "my api key")
            .build();

    if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.KITKAT) {
        httpClient.newCall(request).enqueue(new Callback() {
            @Override
            public void onFailure(Call call, IOException e) {
                e.printStackTrace();
            }

            @Override
            public void onResponse(Call call, Response response) throws IOException {
                try (ResponseBody responseBody = response.body()) {
                    if (!response.isSuccessful())
                        throw new IOException("Unexpected code " + response.body().string());

                    Headers responseHeaders = response.headers();
                    for (int i = 0, size = responseHeaders.size(); i < size; i++) {
                        System.out.println(responseHeaders.name(i) + ": " + 
                      responseHeaders.value(i));
                        Main3Activity.txtString.setText(response.header("Server"));

                    }
                    Gson gson = new GsonBuilder().setPrettyPrinting().create();
                    JsonParser jp = new JsonParser();
                    JsonElement je = jp.parse(response.body().charStream());
                    final String prettyJsonString = gson.toJson(je);
                     runOnUiThread(new Runnable() {
                        @Override
                        public void run() { 
                         txtString.setText(prettyJsonString);
                        }
                    });
                }
              }
        });
    }
}```

我正在尝试将 okhttpclient 与 okhttp3 一起使用,但它返回一个空值。我尝试了另一个带有标题的 url,它工作正常,但是当我尝试这个时,它给出了空响应。我尝试了许多来自网络的解决方案,但我无法弄清楚这一点.hope for the help.thanks 此代码工作正常,例如,对于 Response response = client.newCall(request).execute(); Request request = new Request.Builder() .url("https://httpbin.org/get") .addHeader("custom-key", "mkyong") // add request headers .addHeader("User-Agent", "OkHttp Bot") .build(); 或任何其他网站,但我想使用带有添加标题的快速 api 获取网站的内容

    ```Request request = new Request.Builder()
            .url("https://devru-gaana-v1.p.rapidapi.com/featuredAlbums.php")
            .get()
            .addHeader("x-rapidapi-host", "devru-gaana-v1.p.rapidapi.com")
            .addHeader("x-rapidapi-key", "mine api for site")
            .build();```
4

0 回答 0