简体   繁体   中英

Get request with Json response?

I have the following class that return an spefic field from json response. The method to request here is with post. How can i do it with get method? Also i want to make the get request with headers

CloseableHttpClient httpClient = HttpClients.createDefault();
    HttpPost post = new HttpPost(
            "");
    post.addHeader("Auth-Token", authenticationValues.getAuthToken());
    post.addHeader("device-id", authenticationValues.getDeviceId());

    List<NameValuePair> params = new ArrayList<>();
    params.add(new BasicNameValuePair("task", "savemodel"));
    String generatedJSONString = null;
    params.add(new BasicNameValuePair("code", generatedJSONString));
    CloseableHttpResponse response = null;
    Scanner in = null;

    try {
        post.setEntity(new UrlEncodedFormEntity(params));
        response = httpClient.execute(post);
        HttpEntity entity = response.getEntity();
        in = new Scanner(entity.getContent());

        while (in.hasNext()) {
            JsonString += in.next();

        }

        EntityUtils.consume(entity);
    } catch (IOException e) {
        e.printStackTrace();
    }
//  System.out.println(JsonString);

    JSONObject jsonObject = new JSONObject(JsonString);
    JSONObject myResponse = jsonObject.getJSONObject("login");
    Object myResponse2 = myResponse.get("loginStatus");

System.out.println(myResponse2);

Try this...

URL url = new URL("http://"...);
HttpURLConnection http = (HttpURLConnection)
url.openConnection();
http.setRequestMethod("GET");
http.setDoOutput(true);
http.connect();

OutputStream out = http.getOutputStream();
OutputStreamWriter writer = new OutputStreamWriter(out);
writer.write(FOO);
writer.flush();
writer.close();

InputStreamReader in = new InputStreamReader(http.getInputStream());
BufferedReader br = new BufferedReader(in);

char[] chars = new char[BUF_SIZE];
int size = br.read(chars);

String response = new String(chars).substring(0, size);

All enclosed in a try-catch block.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM