Хорошо, после нескольких минут разбивания клавиатуры я сделал код, который работает с ним, но он не обрабатывает код запроса и не обрабатывает фактический JSON, вам нужно будет его реализовать, он печатает ответ длясейчас.Это базовое начало того, что вы хотите сделать.вот код
public static void main(String[] args){
File file = new File("C:\\Users\\Rab\\Desktop\\lol\\anime.jpg");
try {
byte[] fileContent = Files.readAllBytes(file.toPath());
String imageData = Base64.getEncoder().encodeToString(fileContent);
search("", imageData);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void search(String token, String image){
try {
String urlParameters = String.format("token=%s&image=%s", token, image);
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
int postDataLength = postData.length;
URL url = new URL("https://trace.moe/api/search");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setRequestMethod("POST");
conn.addRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.addRequestProperty("charset", "utf-8");
conn.addRequestProperty("User-Agent", "Mozilla/4.76");
conn.addRequestProperty("Content-Length", Integer.toString(postDataLength));
conn.setUseCaches(false);
try (DataOutputStream wr = new DataOutputStream(conn.getOutputStream())) {
wr.write(postData);
}
InputStream inputStream = conn.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
String wtf = br.readLine();
System.out.println(wtf);
//Handle your data `wtf` is the response of the server
} catch (Exception e){
e.printStackTrace();
}
}
и импорт
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Base64;
Примечание: anime.jpg