Зараз я намагаюся зателефонувати за допомогою веб-службиКоманда Curl з платформи Unix. Веб-служба доступна на зовнішньому сервері. Я можу підключити зовнішній сервер лише за допомогою telnet. Веб-служба використовує аутентифікацію на основі бази даних, і я повинен надати ім'я користувача та пароль.
Може хто-небудь, будь ласка, допоможіть мені з правильним способом виконати це?
Відповіді:
0 для відповіді № 1Якщо ви не потребуєте curl, і просто хочете перевірити локальний веб-сервіс через з'єднання telnet, ви можете просто ввести відповідні команди HTTP.
$ telnet remotehost 80
Trying IP.IP.IP.IP...
Connected to remotehost.
Escape character is "^]".
GET / HTTP/1.0
Content-Type: text/xml;charset=utf-8
SOAPAction:urn:login
Authorization: Basic base64encodedstring
# need 2 carriage returns above to denote completion of request body.
Але якщо ви хочете завивати з будь-якої причини, здається, що Curls "TELNET" функція буде працювати, щоб передавати команду curl через з'єднання telnet.
curl telnet://remotehost
TELNET Curl підтримка Telnet є основним і дуже простий у використанні. Curl передає всі дані, передані їй на stdin на віддалений сервер. Підключіться до віддалений сервер telnet за допомогою командного рядка, подібного до:
curl telnet://remote.server.com
І введіть дані для передачі серверу на stdin. Результат буде надіслано stdout або файлу, вказаному за допомогою -o. Можливо, ви бажаєте, щоб параметр -N / - no-buffer вимкнув буферний висновок для повільних з'єднань або подібних. Пропустити параметри узгодження протоколу telnet, використовуючи опцію -t. Щоб сказати серверу, ми використовуємо термінал vt100, спробуйте щось люблю:
curl -tTTYPE=vt100 telnet://remote.server.com
Інші цікаві варіанти для неї включають:
XDISPLOC = Встановлює розташування відображення X.
NEW_ENV = Встановлює змінну середовища. ПРИМІТКА: Протокол telnet не вказує жодного способу входу з вказаним користувачем і паролем, так що скручування не може зробити це автоматично. зробіть це, потрібно відстежувати, коли отримано підказку для входу та надішліть ім'я користувача та пароль відповідно.