У меня есть следующий CURL запрос Может кто-нибудь, пожалуйста, подтвердите мне, что было бы subesquest HTTP RequestПреобразование CURL запроса на HTTP запрос Java
curl -H "Authorization: Bearer <access token>" --data-urlencode "model=" --data-urlencode "imageurl.img.com" apiurl.api.com
Что я пробовал:
HttpURLConnection conn = (HttpURLConnection) obj.openConnection();
conn.setDoInput(true);
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.setRequestProperty("Accept", "application/json");
conn.setRequestProperty("Authorization", "Bearer " + token);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");
String payload = "model=\"\"&url=" + url;
OutputStreamWriter writer = new OutputStreamWriter(conn.getOutputStream(), "UTF-8");
writer.write(payload);
writer.close();
Проблема Я продолжаю получать код ошибки 403 HTTP. Он работает с CURL, поэтому я не могу преобразовать его правильно.
Что можно сделать для преобразования?
@EDIT
API: http://wiki.vg/Mojang_API#Change_Skin Пример Mojang в:
curl -H "Authorization: Bearer <access token>" --data-urlencode "model=" --data-urlencode "url=http://assets.mojang.com/SkinTemplates/steve.png" https://api.mojang.com/user/profile/<uuid>/skin
Я имею в виду, что лучше использовать существующую библиотеку в java, например: https://github.com/libetl/curl – Grzesiek
Я замечаю комментарий на странице http://wiki.vg/Talk:Mojang_API: «Как именно должно полезная нагрузка выглядит? Независимо от того, что я отправляю (даже данные мусора), я возвращаю HTTP-ответ 403 с '{" error ":" Forbidden "," errorMessage ":" Current IP not secure "}'. Вы пытались запустить предлагаемую команду 'curl', и она дает вам ответ, который вы ожидаете? Или он вместо этого также дает вам 403? Вы можете добавить к нему '-i', чтобы увидеть код состояния и заголовки ответа:' curl -i -H 'Authorization: Bearer "...' –
sideshowbarker