HTTP-запрос из JavaScript с использованием необработанного сообщения, включая заголовки - PullRequest
2 голосов
/ 23 декабря 2010

Я знаю, как сделать HTTP-запрос к моему REST API из javascript, используя jQuery или XMLHttpRequest.Теперь я хочу сделать запрос без установки свойств для значений заголовка. Сообщение HTTP-запроса состоит из:

  • Строка запроса, такая как GET /images/logo.png HTTP / 1.1, которая запрашивает ресурс под названием / images / logo.png с сервера
  • Заголовки, такие как Accept-Language: en
  • Пустая строка
  • Необязательное тело сообщения

Запрос к моему API должен выглядеть примерно так:

GET /myapi/myresource/1234 HTTP/1.1
Host: localhost:51127
Content-Type: application/x-www-form-urlencoded
Accept: application/json, text/csv
Authorization: Basic <base64 encoded credentials>

Я хотел бы открыть соединение с localhost: 51127, отправить приведенный выше текст и получить ответ.Это возможно в javascript?

Обновление: я знаю, как установить заголовки.Я просто хочу сделать это по-другому.Существует множество способов «создать» запрос, включая заголовки, и отправить его.Я просто хочу построить его вручную.

Ответы [ 3 ]

2 голосов
/ 23 декабря 2010

В Javascript нет поддержки сокетов. Вы можете создавать HTTP-запросы только с помощью оболочки XMLHTTPRequest или опционально оболочек для , , например jQuery.ajax. Это по разным причинам, в основном, из соображений безопасности.

2 голосов
/ 23 декабря 2010

Вы можете получить экземпляр объекта HmlHttpRequest и использовать setRequestHeader.

В jQuery есть обработчик beforeSend, который можно установить для получения фактического объекта hxr.

  $.ajax({
      beforeSend: function(xhr){
          xhr.setRequestHeader("name","value");
       }
  ...
  })
0 голосов
/ 28 февраля 2019

Пришел сюда в поисках того же. Я думаю, что было бы возможно построить что-то, что берет необработанный текст запроса и анализирует его в объект xmlHttpRequest, помещая заголовки и т. Д. В правильные свойства. Просьба прокомментировать ссылку, если что-то подобное уже существует. В принципе, если jQuery имеет функцию BuildRequestFromRaw (текст), это было бы замечательно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...