매개 변수와 함께 GET 요청을 보내려고합니다. 그러나 요청을 보내는 URL에 대한 규칙 만있는 것 같습니다. POST 요청과 달리 매개 변수를 전달할 방법이 없습니다. 나는 (잘못 될 수 있음) 매개 변수를 사용하지 않고, 지금 GET 요청을 전송하는 방법Java에서 GET 요청의 매개 변수를 설정하는 방법
: GET
지원하는 HTTP의 사양에 따라
String url = "https://api.netatmo.net/oauth2/token";
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
//add request header
con.setRequestMethod("POST");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
String urlParameters = "grant_type=password&client_id=myid&client_secret=mysecret&username=myusername&password=mypass";
// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
int responseCode = con.getResponseCode();
Log.v(TAG, "\nSending 'POST' request to URL : " + url);
Log.v(TAG, "Post parameters : " + urlParameters);
Log.v(TAG, "Response Code : " + responseCode);
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
//print result
Log.v(TAG, response.toString());
access_token = response.substring(17, 74);
refresh_token = response.substring(93,150);
getRequest = "/api/getuser?access_token=" + access_token + " HTTP/1.1";
Log.v(TAG, access_token);
Log.v(TAG, refresh_token);
Log.v(TAG, getRequest);
, 편집 대답, 추가 편집 주시기
나는 마침내이를 사용하여 작업을 얻었다. 감사! –아니, 그냥 upvote거야. –
끔찍하게 쓰여진 반면, 사용하고있는 API에는 매개 변수를 전달하는 방법이 있습니다. 그렇지 않으면 전달 매개 변수가 시도하는대로 GET 메서드를 사용하지 않을 것입니다. 해야 할 일 – OddCore