Задать вопрос
kostyamega8
@kostyamega8
Новичок

Как отправить http post запрос в теле которого будет sql запрос?

У меня есть веб страничка на сайте. Через эту веб страничку я обычно вручную делаю sql запросы.
6587b972dd427873455391.jpeg

Как мне сделать так что бы соответствующий http post запрос доставлял на эту страницу sql запрос, далее который обрабатывался и выдавал ответ в качестве выгрузки html с бд.
6587bb0f96bb3203525348.jpeg

Это примеры с сайта.

Код который я использую для получения html с бд после обработки sql запроса который был в теле http post запроса:
import okhttp3.*;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;

public class Test {

    public static void main(String[] args) throws IOException, InterruptedException {
        HttpClient client = HttpClient.newHttpClient();
        HttpRequest request = HttpRequest.newBuilder()
                .uri(URI.create("https://"))
                .POST(HttpRequest.BodyPublishers.ofString("select varGln from glns"))
                .build();

        HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());

        System.out.println(response.body());



        /*OkHttpClient client = new OkHttpClient().newBuilder()
                .build();
        MediaType mediaType = MediaType.parse("text/plain");
        RequestBody body = RequestBody.create(mediaType, "select varGln from glns");
        Request request = new Request.Builder()
                .url("https://")
                .method("POST", body)
                .addHeader("Content-Type", "text/plain")
                .build();
        Response response = client.newCall(request).execute();
        System.out.println(response.body().string());*/

    }

}


JDBC я не могу использовать, так как прямого где login и password у меня нет.
  • Вопрос задан
  • 406 просмотров
Подписаться 1 Средний 4 комментария
Пригласить эксперта
Ответы на вопрос 2
@My1Name
Как мне сделать так что бы соответствующий http post запрос доставлял на эту страницу sql запрос, далее который обрабатывался и выдавал ответ в качестве выгрузки html с бд.

Что значит "на эту страницу sql запрос"? Вы хотите вывести тело метода запроса? То есть код (команду), по которой осуществляется та или иная операция с БД?

Если я всё правильно понял, то ответ - никак. Вы можете только строить догадки, если у вас нет доступа к самой БД

JDBC я не могу использовать, так как прямого где login и password у меня нет.

То есть, вы даже не знаете как выглядит таблица. Какие там поля, есть ли индексы и т.д. и т.п. А значит вам нужно создать свой набор команд (свою интерпретацию), который будет доступен для работы с БД через ваш Apache HttpClient.
Ответ написан
@EDIsaev
Смотри что происходит по нажатию кнопки выполнить и симулируй в своём коде, делов то
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы