Как отправить запросы GET и POST с параметрами gimmeflag и значением please в URL http://103.200.7.150:7777/ с помощью curl в командной строке?
Этот ответ показывает способ получения результатов ответа @ 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}
Из @ Ответ Видеонаута :
-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://103.200.7.150:7777/ через завиток или браузер дает следующий результат: Пожалуйста, пришлите мне метод запроса GET и POST с параметрами «gimmeflag» и значением «please»Давайте разложим его на две части, так как вы хотите знать, как это делается с curl (см. [
Использование GET для отправки вашего запроса:
Это довольно просто, если вы знаете, как выглядит man 1 curl как.
Вызов http://103.200.7.150:7777/ через curl или browser дает следующий результат:
Веб-сервер может обрабатывать запрос протокола Hypertext Transfer Protocol либо путем чтения файла из его файловой системы на основе пути URL-адреса или обработки запроса с использованием логики, характерной для типа ресурса. В случаях, когда вызывается специальная логика, строка запроса будет доступна для этой логики для использования в ее обработке вместе с компонентом пути URL. ([D3] http://103.200.7.150:7777/ )В World Wide Web строка запроса является частью единого указателя ресурсов (URL), содержащего данные, которые не подходят удобно в иерархическую структуру пути. Строка запроса обычно включает поля, добавленные в базовый URL, с помощью веб-браузера или другого клиентского приложения, например, как часть HTML-формы.
curl -X GET http://103.200.7.150:7777/?gimmeflag=please
Веб-сервер может обрабатывать передачу гипертекста Запрос протокола либо путем чтения файла из его файловой системы на основе пути URL-адреса, либо путем обработки запроса с использованием логики, специфичной для типа ресурса. В случаях, когда вызывается специальная логика, строка запроса будет доступна для этой логики для использования в ее обработке вместе с компонентом пути URL. ([D3] http://103.200.7.150:7777/ )
Пожалуйста, пришлите мне метод запроса GET и POST с параметрами «gimmeflag» и значением «please»
Вы хотите отправить параметр gimmeflag и значение please. Итак, строка, которую вы хотите запросить с помощью curl, это:
Результат, который вы вернетесь с сервера:
curl -X POST http://103.200.7.150:7777/?gimmeflag=please
В результате вы возвращаетесь с сервера: _S3nD_r3quesT_Meth0d_GET_AND_POST} KSL {n0w_y0u_Know_How_To
# 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)"
В результате вы возвращаетесь с сервера:
Этот ответ показывает способ получения результатов ответа @ 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}
Из @ Ответ Видеонаута :
-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://103.200.7.150:7777/ через завиток или браузер дает следующий результат: Пожалуйста, пришлите мне метод запроса GET и POST с параметрами «gimmeflag» и значением «please»Давайте разложим его на две части, так как вы хотите знать, как это делается с curl (см. [
Использование GET для отправки вашего запроса:
Это довольно просто, если вы знаете, как выглядит man 1 curl как.
Вызов http://103.200.7.150:7777/ через curl или browser дает следующий результат:
Веб-сервер может обрабатывать запрос протокола Hypertext Transfer Protocol либо путем чтения файла из его файловой системы на основе пути URL-адреса или обработки запроса с использованием логики, характерной для типа ресурса. В случаях, когда вызывается специальная логика, строка запроса будет доступна для этой логики для использования в ее обработке вместе с компонентом пути URL. ([D3] http://103.200.7.150:7777/ )В World Wide Web строка запроса является частью единого указателя ресурсов (URL), содержащего данные, которые не подходят удобно в иерархическую структуру пути. Строка запроса обычно включает поля, добавленные в базовый URL, с помощью веб-браузера или другого клиентского приложения, например, как часть HTML-формы.
curl -X GET http://103.200.7.150:7777/?gimmeflag=please
Веб-сервер может обрабатывать передачу гипертекста Запрос протокола либо путем чтения файла из его файловой системы на основе пути URL-адреса, либо путем обработки запроса с использованием логики, специфичной для типа ресурса. В случаях, когда вызывается специальная логика, строка запроса будет доступна для этой логики для использования в ее обработке вместе с компонентом пути URL. ([D3] http://103.200.7.150:7777/ )
Пожалуйста, пришлите мне метод запроса GET и POST с параметрами «gimmeflag» и значением «please»
Вы хотите отправить параметр gimmeflag и значение please. Итак, строка, которую вы хотите запросить с помощью curl, это:
Результат, который вы вернетесь с сервера:
curl -X POST http://103.200.7.150:7777/?gimmeflag=please
В результате вы возвращаетесь с сервера: _S3nD_r3quesT_Meth0d_GET_AND_POST} KSL {n0w_y0u_Know_How_To
# 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)"
В результате вы возвращаетесь с сервера: