现在,我正在尝试使用Unix平台上的Curl命令调用Web服务。Web服务可在外部服务器上使用。我只能使用telnet连接外部服务器。Web服务使用基本身份验证,我必须提供用户名和密码。
有人能帮我正确地执行这个吗?
发布于 2017-11-09 15:10:22
如果您不需要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.
但是,如果您出于任何原因想要curl,那么Curls " telnet“函数似乎可以通过telnet连接传递curl命令。
curl telnet://remotehost
TELNET的支持是基本的,非常容易使用。Curl将stdin上传递给它的所有数据传递给远程服务器。使用类似于以下命令行连接到远程telnet服务器: curl telnet://emote.server.com 并在stdin上输入要传递给服务器的数据。结果将发送到stdout或您用-o指定的文件。您可能希望使用-N/--无缓冲区选项来关闭缓冲输出,以用于慢速连接或类似的输出。使用-t选项将选项传递给telnet协议协商。要告诉服务器我们使用的是vt100终端,请尝试如下所示: curl -tTTYPE=vt100 telnet://emote.server.com 其他有趣的-t选项包括:
https://stackoverflow.com/questions/47189271
复制相似问题