Как делают я отправляю, ДОБИРАЮТСЯ и запросы POST с параметром gimmeflag
и значение please
к URL http://103.200.7.150:7777/
использование curl
на командной строке?
Походит на Вас после учебного руководства или книги, и это - развязный способ протестировать, если Вы свалили основы.
Вызов http://103.200.7.150:7777/ через завихрение или браузер приводит к следующему выводу:
Отправьте меня, метод запроса ПОЛУЧАЕТ и POST с параметрическими усилителями "gimmeflag" и оценивает
Давайте разломаем его на две части, так как Вы хотите знать как поконченные curl
(см. man 1 curl
или вихревое руководство).
Используя ДОБИРАЮТСЯ для отправления запроса:
Этот довольно легок, если Вы знаете как a query-string
похож.
Во Всемирной паутине строка запроса является частью унифицированного указателя ресурсов (URL), содержащего данные, которые не соответствуют удобно иерархической структуре пути. Строка запроса обычно включает поля, добавленные к базовому URL веб-браузером или другим клиентским приложением, например, как часть HTML-формы.
Веб-сервер может обработать запрос Протокола передачи гипертекста или путем чтения файла из его файловой системы на основе пути URL или путем обрабатывания запроса с помощью логики, которая характерна для типа ресурса. В случаях, где специальная логика вызывается, строка запроса будет доступна той логике для использования в ее обработке, наряду с компонентом контура URL. (источник)
Вы хотите отправить параметр gimmeflag
и значение please
. Так строка Вы хотите запросить с curl
:
curl -X GET http://103.200.7.150:7777/?gimmeflag=please
Результат Вы возвращаетесь из сервера:
KSL {n0w_y0u_Know_How_To
Используя POST для отправления запроса:
Данный ПОЛУЧИТЬ строку POST довольно легок, слишком просто заменяют, ДОБИРАЮТСЯ POST:
curl -X POST http://103.200.7.150:7777/?gimmeflag=please
Результат Вы возвращаетесь из сервера:
_S3nD_r3quesT_Meth0d_GET_AND_POST}
Завершить это:
# Thanks to @pa4080 for this line
printf '%s%s\n' \
"$(curl -X GET http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)" \
"$(curl -X POST http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)"
KSL {n0w_y0u_Know_How_To_S3nD_r3quesT_Meth0d_GET_AND_POST}
Этот ответ показывает путь, как мог быть достигнут результаты ответа @Videonauth, но с wget
:
$ wget -qO- http://103.200.7.150:7777/
Please send me request method GET and POST with params "gimmeflag" and value "please"
$ wget -qO- http://103.200.7.150:7777/?gimmeflag=please # GET is the default request
KSL{n0w_y0u_Know_How_To
$ wget -qO- --post-data '' http://103.200.7.150:7777/?gimmeflag=please # Simple POST req.
_S3nD_r3quesT_Meth0d_GET_AND_POST}
$ printf '\n%s%s\n' \
"$(wget -qO- http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)" \
"$(wget -qO- --post-data '' http://103.200.7.150:7777/?gimmeflag=please 2>/dev/null)"
KSL{n0w_y0u_Know_How_To_S3nD_r3quesT_Meth0d_GET_AND_POST}
От man wget
:
-O file; --output-document=file - The documents will not be written to the appropriate
files, but all will be concatenated together and written to file. If '-' is used
as file, documents will be printed to standard output, disabling link conversion...
-q; --quiet - Turn off Wget's output.
--post-data=string; --post-file=file - Use POST as the method for all HTTP requests
and send the specified data in the request body. --post-data sends string as data,
whereas --post-file sends the contents of file. Other than that, they work in
exactly the same way. In particular, they both expect content of the form
"key1=value1&key2=value2", with percent-encoding for special characters...
Only one of --post-data and --post-file should be specified... This example shows
how to log in to a server using POST and then proceed to download the desired pages,
presumably only accessible to authorized users:
# Log in to the server. This can be done only once.
wget --save-cookies cookies.txt --post-data 'user=foo&password=bar' \
http://example.com/auth.php
Я отвечаю здесь, потому что у меня нет достаточного количества представителя для комментария. Существует два ответа, и наиболее проголосовавший ответ не знает работы протокола HTTP.
Данные POST перемещаются в теле полезной нагрузки HTTP, не в URL. Строка запроса в URL является просто приемом для отправки, канавка данных ДОБИРАЮТСЯ, который не является действием, сделанным для регистрации данных (ДОБЕРИТЕСЬ, и POST сам объяснительные).
Корректный способ использовать завихрение с POST был бы:
curl -X POST -d "gimmeflag=please" http://103.200.7.150:7777/
Если Вы тестируете сценарий, реализованный на языке, где ДОБИРАЮТСЯ, и переменные POST разделяются, curl -X POST http://103.200.7.150:7777/?gimmeflag=please
сохранит переменные, где ДОБИРАЮТСЯ, переменные найдены.