IP camera를 제어하기위해 cgi라는 것을 알았습니다.
근데 camera setting 값을 변경하기위해서는 admin 계정을 필요로 합니다.
http://192.168.9.150/cgi-bin/admin/fwcamset.cgi?FwModId=0&PortId=0&Installed=0&CamName=aaa&ColorMode=1&ImgSize=9&Quality=2&GopValue=4&CbrValue=0&FrameRate=3&AudioInstalled=0&FwCgiVer=0x0001
같이 인터넷 창에 입력하면 계정을 요구하는데 android에서는 어떠한 방식으로 입력을 해줘야 하는지 알고싶습니다.
아래 1 3번은 해봤으나 안되고 있습니다. 혹시 알고계신다면 답변 부탁드리겠습니다. 감사합니다.
1. uri에 입력방법
http://yourID:passwd@192.168.9.150/~~
2. HttpURLConnection 방법
Authenticator 쓰는 방법을 모르겠습니다.
3. DefaultHttpClient
예제에 맞게 설정해줘도 계정인증이 안된다는 메시지만 나오고 있습니다.
DefaultHttpClient httpClient = new DefaultHttpClient();
//
// BasicCredentialsProvider bcp = new BasicCredentialsProvider();
// // CredentialsProvider bcp = httpClient.getCredentialsProvider();
//
// Log.d(TAG, "userName"+userName+"password"+password);
//// bcp.setCredentials(new AuthScope("192.168.9.150", 80), new UsernamePasswordCredentials(
//// userName, password));
//// httpClient.setCredentialsProvider(bcp);
//
// HttpResponse httpResponse = httpClient.execute(httpPost);
//
// StringBuilder builder = new StringBuilder();
// BufferedReader reader = new BufferedReader(new InputStreamReader(
// httpResponse.getEntity().getContent()));
// for (String s = reader.readLine(); s != null; s = reader.readLine()) {
// builder.append(s);
// }
// result = builder.toString();
// Log.d(TAG, "result is ( " + result + " )");
} catch (Exception e) {
Log.e(TAG, e.toString());
}
Log.d(TAG, "over");
return result;
}