Java에서 StackExchange API에 대한 REST 요청을하려고하는데 출력을 읽는 데 문제가 있습니다. 내가 얻을, 내 자바 프로그램의 출력을 인쇄 할 때HttpURLConnection을 사용하여 REST 요청 출력 읽기
{"items":[{"tags":["c++","templates","covariant"],"owner":{"reputation":3,"user_id":7447292,"user_type":"registered","profile_image":"https://www.gravatar.com/avatar/8979f1b328b9b0f786dec8b4edd514bc?s=128&d=identicon&r=PG&f=1","display_name":"B.Oudot","link":"http://stackoverflow.com/users/7447292/b-oudot"}
: 아래
package Utils;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
public class RestClient
{
public static void main(String[] args)
{
try
{
URL url = new URL("https://api.stackexchange.com/2.2/questions?order=desc&sort=activity&site=stackoverflow");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
System.out.println(conn.getResponseCode());
BufferedReader reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String output;
while ((output = reader.readLine()) != null)
{
System.out.println(output);
}
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
이 웹 사이트에서 샘플 출력입니다 : 내가 제대로 읽을 수 있는지 확인하기 위해 작은 코드 예제를 만들어 상태 코드 200 그리고 나머지는 아스키가 아닌 문자들입니다. 저는 REST와 JSON을 처음 접했습니다. 가능하다면 제 3 자 라이브러리를 사용하고 싶지 않습니다.
EDIT 내 프로그램의 출력물을 이미지로 넣었습니다.
실제 HTTP 라이브러리를 사용하는 것이 더 쉬울 수도 있습니다. 아마도 그것은 gzipped거야? 출력 값의 예제를 제공하지 않으므로 말할 수 없습니다. –
내 출력 사진을 추가하여 내 게시물을 편집했습니다. – Paul