Метод HTTPPost с заголовками и телом
Мне нужно сделать HTTPPost на Cloudsight для распознавания изображений. Я имею:
BASE URL https://api.cloudsight.ai/v1/images
Headers: Content-Type application/json
Authorization Cloudsight API_KEY
В нем говорится: "Отправьте изображение с помощью HTTP-запроса POST на конечную точку / изображения с параметром данных, закодированным в несколько частей или в формате base64". URL: http://docs.cloudsight.apiary.io/#reference/0/images-collection/send-an-image-for-identification?console=1 До сих пор я сделал это:
private class HTTPPOSTReguest extends AsyncTask<String, Void, String> {
ProgressDialog dialog;
String result = "";
@Override
protected void onPreExecute() {
}
@Override
protected String doInBackground(String... params) {
try {
HttpResponse response = null;
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(BASE_URL);
httppost.addHeader("Content-Type", "application/json");
httppost.addHeader("Authorization", "CloudSight buEA_pC6K7FXT60inM2eUQ");
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
nameValuePairs.add(new BasicNameValuePair("images", encodedImage));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
response = httpclient.execute(httppost);
int responseCode = response.getStatusLine().getStatusCode();
HttpEntity entity = response.getEntity();
if (entity != null) {
String responseBody = EntityUtils.toString(entity);
result = responseBody;
}
} catch (IOException e) {
e.printStackTrace();
}
return result;
}
Бут может показаться успешным. Может кто-то предложить совет
1 ответ
Несколько вещей, которые я заметил, просматривая это. Во втором фрагменте сверху заголовок Authorization гласит:
Cloudsight API_KEY
вместо CloudSight API_KEY
Не уверен, что это просто быстрая опечатка или это в коде. В примере кода есть строка чтения:
HttpPost httppost = new HttpPost("https://api.cloudsightapi.ai");
Это должно быть вместо:
HttpPost httppost = new HttpPost("https://api.cloudsight.ai/v1/images");
Дайте этому шанс и дайте нам знать, как оно идет!