Как сделать HTTP-запросы, используя Plink

1697
slartidan

В Windows я хочу сделать простые HTTP-запросы, чтобы найти ошибки в моих скриптах. Конечно, я обычно использую более удобные инструменты (например, плагин «REST client» в Firefox), но теперь я хочу пойти на один уровень глубже.

Как я могу сделать HTTP-запросы в Windows из командной строки?

Я пытался использовать Plink (из PuTTY):

plink -telnet -P 80 servername GET /index.php 

Но сервер постоянно говорит мне, что

Глагол запроса недействителен.

Вероятно, это игнорирует GET /index.phpчасть.

  • У меня нет telnet(я использую компьютер моей компании, и я не могу установить эту функцию Windows здесь)
  • Я хочу сохранить его на низком уровне (не следя за перенаправлениями и т. Д.)
1
«У меня нет telnet (так как он не включен в текущие версии Windows)» Он включен, он просто не установлен по умолчанию. Вы можете установить / включить клиент telnet для Windows, используя «Установка и удаление программ» -> «Включить / выключить функции Windows». Ƭᴇcʜιᴇ007 8 лет назад 0
@ Ƭᴇcʜιᴇ007 Спасибо за подсказку - но сейчас я не могу установить эту функцию Windows (я обновил свой вопрос). Есть идеи, почему `plink` не работает? slartidan 8 лет назад 0
Вы правильно используете PLink, но я думаю, что, поскольку вы упоминаете, что это веб-сервис REST, вы просто отправляете неправильный запрос GET. Как говорится: `index.php` не является допустимым глаголом запроса для этой службы (в основном, вам нужно указать функцию для запуска в веб-службе). Ƭᴇcʜιᴇ007 8 лет назад 1
У вас есть пара альтернатив. ** Сначала Linux / Unix ** вы можете проверить, открыт ли порт: `nc -z [ipaddress] 80` и выполнить некоторые запросы http, которые вы можете использовать:` curl http: // example. com / `он будет выполнять чтение * URL * через * GET *: Francisco Tapia 8 лет назад 0

1 ответ на вопрос

2
Martin Prikryl
  1. You cannot use the Telnet protocol to implement the HTTP. PuTTY will send some Telnet control sequences that break the HTTP protocol. You need to use a "raw" connection using the -raw switch (instead of the -telnet).

  2. You can specify the command on Plink command-line with the SSH protocol only. It does not work with the raw connection or the Telnet. But you can use an input redirection.

This should work:

echo GET /index.php | plink.exe -raw -P 80 servername 

Though you better use some more powerful tool. Examples: