#post #curl #ipv6
#Публикация #curl #ipv6
Вопрос:
В IPV6 как создать http-запрос CURL POST с IPV6-адресом и номером порта.Любой поток будет оценен по достоинству.
Попытался создать запрос, как показано ниже
>curl --interface 'http://[2001:0:db8:1111:0:0:0:11]:8091/?'
Но выше была выдана ошибка как «curl: URL-адрес не указан»
>curl -X POST -d curl -X POST `http://[2001:0:db8:1111:0:0:0:11]:8091/?`
Затем попробовал выше, что дало ошибку как
>bash: http://[2001:0:db8:1111:0:0:0:11]:8091/?: No such file or directory
curl: no URL specified!
curl: try 'curl --help' or 'curl --manual' for more information
Существует ли какой-либо альтернативный метод, кроме использования URL
Ответ №1:
curl -g -d post 'http://[2001:0:db8:1111:0:0:0:11]:8091/'
Опция -g была необходима «в старые времена», когда вы использовали адреса IPv6. Это останавливает curl от обработки символов [] в URL-адресе как инструкций по глобализации. (начиная с curl 7.37.0 (май 2014), curl больше не выдает числовые адреса IPv6 за глобальные, что делает использование -g в этом случае больше не необходимым)
-d, конечно, предназначен для публикации. Вы также можете нажать на a -v, чтобы увидеть детали операции.
(И нет, -X POST
не должно быть в командной строке вообще, когда -d
используется.)
Комментарии:
1. По-видимому, в 2018
-g
году все еще необходим —curl 7.29.0 (x86_64-redhat-linux-gnu) libcurl/7.29.0 NSS/3.34 zlib/1.2.7 libidn/1.28 libssh2/1.4.3
.2. Нет, вы имеете в виду, что вам нужно было в 2013 году. Я думаю, что это квалифицируется как «в старые времена».
3. Хотя ключевое слово ‘post’ в команде должно быть прописным: curl -g -d POST ‘http: //[2001:0:db8:1111:0:0:0:11]:8091/’
Ответ №2:
curl -4
для запроса IPv4 и curl -6
для запроса IPv6 являются аргументами, которые вы можете использовать.
Для вашего примера это должно сработать:
curl -6 -d post 'http://2001:0:db8:1111:0:0:0:11:8091/'
Ответ №3:
Win10:
curl -X POST http://[fe80::a989:2147:5f46:a4f3%4]:58080 -H «Тип содержимого: application/x-www-form-urlencoded» -d «имя пользователя = xxxamp; pd = xxxx amp; …»
-X, —request: HTTP-метод для связи с сервером.
-H, —header: HTTP-заголовки для отправки на сервер с POST-запросом.
-d, —data: данные, которые должны быть отправлены на сервер с помощью POST-запроса в виде пар ключ / значение.