Эквивалент опции curl «разрешить» на странице HTML / Javascript - PullRequest
0 голосов
/ 29 января 2020

У меня есть входной контроллер, который для доступа к определенным ресурсам должен указывать ресурс с помощью функции curl --resolve. Например, этот запрос не будет выполнен (т.е. не получит доступ к нужной мне конечной точке):

curl http://foo/endpoint

Однако этот запрос будет выполнен успешно:

curl --resolve foo:80:192.168.100.123  http://foo:80/endpoint

Короче, мне требуется эквивалент функция --resolve, но вместо этого на простой странице HTML. Конечная цель - просто достичь этой функциональности --resolve через веб-браузер. Я пробовал различные графические инструменты, такие как «RESTer» и другие клиентские плагины REST для Firefox, но ни один из них не поддерживает эту функцию. Итак, я думаю, что мой единственный оставшийся вариант - написать веб-страницу (например, HTML), которая может выполнить sh то же самое.

Вопрос: как я создаю / выпускаю такой запрос, чтобы я мог выполнить его в браузере, а не через curl? Это просто хакерские заголовки HTTP, которые мне нужно реализовать? Я знаю, что попытка сделать что-то вроде установки поля Host в заголовке HTTP не работает, поэтому я предполагаю, что это более сложно, чем это.

Редактировать: это Кажется, curl -specifi c имя для функции CURLOPT_RESOLVE.

1 Ответ

0 голосов
/ 29 января 2020

Нет эквивалента в fetch или XHR.

Разрешение имени хоста не может быть переопределено. Вы даже не можете сделать запрос непосредственно к IP-адресу и переопределить заголовок запроса Host, потому что он помечен как запрещенный заголовок .


Ближайший, который вы можете получить было бы написать прокси (с использованием серверного кода), а затем сделать запрос от браузера к прокси.

...