首页 > 解决方案 > 使用带有标头的 HttpURLConnection GET 请求时如何修复错误代码 500?标头未发送

问题描述

我正在尝试发送带有标头的 GET 请求,但标头未发送,并且我收到错误代码 500。 ttps://skyscanner-skyscanner-flight-search-v1.p.rapidapi.com/apiservices/browsequotes /v1.0/US/USD/en-US/SFO-sky/JFK-sky/2019-09-01。

我尝试了几种变体,例如折旧的 apache、HttpURLConnection 和 volley。我总是得到错误代码 500。我在清单中添加了权限。我在 Postman 上测试了 API GET 请求,它工作正常,你可以在这里看到:http: //prntscr.com/n2tv2e

public void buttonHandler(View v)
{
    try {
        URL url = new URL("https://skyscanner-skyscanner-flight-search-v1.p.rapidapi.com/apiservices/browsequotes/v1.0/US/USD/en-US/SFO-sky/JFK-sky/2019-09-01");
        HttpsURLConnection con = (HttpsURLConnection) url.openConnection();
        con.setRequestProperty("X-RapidAPI-Key", "jkjkjkjkjkjkjkjkjkjkj");
        con.setRequestMethod("GET");


        InputStream inputStream = con.getInputStream();
        InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
        BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
        String line = bufferedReader.readLine();

        textView.setText(line);
        con.disconnect();

    } catch (MalformedURLException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

我想要这里显示的 json 文件:http: //prntscr.com/n2tv2e

标签: javaandroidnetwork-programming

解决方案


你需要像这样添加标题

 HttpPost post = new HttpPost( "URL" );
 post.addHeader( "Key" , "Value" );

推荐阅读