use*_*619 2 curl telnet webservice-client
现在我正在尝试使用来自 Unix 平台的 Curl 命令调用 Web 服务。Web 服务在外部服务器上可用。我只能使用 telnet 连接外部服务器。Web 服务使用基本身份验证,我必须提供用户名和密码。
任何人都可以帮助我以正确的方式执行此操作吗?
如果您不需要 curl,而只想通过 telnet 连接测试本地 Web 服务,您只需键入适当的 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.
Run Code Online (Sandbox Code Playgroud)
但是,如果您出于任何原因想要 curl,似乎 Curls 的“TELNET”功能可以通过 telnet 连接传递 curl 命令。
curl telnet://remotehost
TELNET curl telnet 支持是基本的并且非常易于使用。Curl 将通过标准输入传递给它的所有数据传递到远程服务器。使用类似于以下内容的命令行连接到远程 telnet 服务器:
Run Code Online (Sandbox Code Playgroud)curl telnet://remote.server.com并在标准输入上输入要传递给服务器的数据。结果将发送到 stdout 或您使用 -o 指定的文件。您可能希望 -N/--no-buffer 选项为慢速连接或类似情况关闭缓冲输出。使用 -t 选项将选项传递给 telnet 协议协商。要告诉服务器我们使用 vt100 终端,请尝试以下操作:
Run Code Online (Sandbox Code Playgroud)curl -tTTYPE=vt100 telnet://remote.server.com它的其他有趣选项 -t 包括:
XDISPLOC= 设置 X 显示位置。
NEW_ENV= 设置环境变量。注意:telnet 协议没有指定任何使用指定用户和密码登录的方式,因此 curl 无法自动执行此操作。为此,您需要跟踪收到登录提示的时间并相应地发送用户名和密码。
| 归档时间: |
|
| 查看次数: |
16914 次 |
| 最近记录: |