POST: отправка почтового запроса в самом URL-адресе

Мне был присвоен url.. www.abc.com/details и попросил отправить мое имя и номер телефона на этот URL, используя POST. Они сказали мне установить тип контента как application/json и body как действительный JSON со следующими ключами:

name: name of the user
phone number: phone number of the user

Теперь я не знаю, как отправить этот запрос! Будет ли это что-то вроде:

http://www.abc.com/details?method=post&name=john&phonenumber=445566

или мне нужно использовать java для отправки того же?

Пожалуйста, помогите

Ответ 1

Основываясь на том, что вы предоставили, это довольно просто для того, что вам нужно сделать, и у вас даже есть несколько способов сделать это. Вам понадобится что-то, что позволит вам отправить тело с вашим запросом. Практически любой язык программирования может это сделать, а также инструменты командной строки, такие как cURL.

У вас есть решение, которое вам нужно, вам нужно создать свой кусок JSON и отправить его на сервер.

Пример использования cURL будет (все в одной строке, минус \ в конце первой строки):

curl -v -H "Content-Type: application/json" -X POST \
     -d '{"name":"your name","phonenumber":"111-111"}' http://www.abc.com/details

Вышеупомянутая команда создаст запрос, который должен выглядеть следующим образом:

POST /details HTTP/1.1
Host: www.abc.com
Content-Type: application/json
Content-Length: 44

{"name":"your name","phonenumber":"111-111"}

Ответ 2

Вы можете публиковать данные на URL с помощью JavaScript и Jquery примерно так:

$.post("www.abc.com/details", {
    json_string: JSON.stringify({name:"John", phone number:"+410000000"})
});

Ответ 3

Невозможно отправить POST-параметры в URL-адресе. Запрос POST сам по себе означает отправку информации в тело.

Я нашел довольно простой способ сделать это. Используйте Postman от Google, который позволяет вам указать тип содержимого (поле заголовка) в качестве приложения /json, а затем предоставить пары имени-значения в качестве параметров.

Вы можете найти четкие направления на http://docs.brightcove.com/en/video-cloud/player-management/guides/postman.html

Просто используйте свой URL-адрес на своем месте.

Надеюсь, что это поможет

Ответ 4

В окнах эта команда не работает для меня. Я пробовал следующую команду и она работает. Используя эту команду, я создал сеанс в режиме синхронизации chocchdb для конкретного пользователя...

curl -v -H "Content-Type: application/json" -X POST -d "{ \"name\": \"abc\",\"password\": \"abc123\" }" http://localhost:4984/todo/_session

Ответ 5

Вы можете использовать почтальона.

Где выбрать Post как метод. и в теле запроса отправьте объект JSON.

Ответ 6

В Java вы можете использовать GET, который показывает запрошенные данные по URL.But POST метод не может, потому что POST имеет тело, но GET donot имеет тело.

Ответ 7

Если вы отправляете запрос через URL из браузера (например, используя веб-сервис) без использования html-страниц по умолчанию, это будет GET, потому что GET не имеет/не нуждается в теле. если вы хотите сделать URL-адрес POST, вам нужны html/jsp-страницы, и вы должны указать в теге формы как "method = post", потому что post будет иметь тело, а данные будут передаваться в этом теле по соображениям безопасности. Таким образом, вам нужен носитель (например, HTML-страница), чтобы сделать запрос POST. Вы не можете сделать URL-адрес как POST вручную, если вы не укажете его как POST через какой-либо носитель. Например, в URL (http://example.com/details?name=john&phonenumber=445566) вы приложили данные (имя, номер телефона), чтобы сервер идентифицировал их как данные GET, поскольку сервер получает данные через URL, но не внутри тела запроса