使用Curl和telnet连接调用Web服务

使用Curl和telnet连接调用Web服务,curl,telnet,webservice-client,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 '^]'

现在,我正在尝试从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.
但如果出于任何原因需要curl,Curls“TELNET”函数似乎可以通过TELNET连接传递curl命令

curltelnet://remotehost

电信网 curl telnet支持是基本的,并且非常易于使用。Curl将通过stdin传递给它的所有数据传递给远程服务器。连接到 使用类似以下命令行的远程telnet服务器:

    curl telnet://remote.server.com
并输入要传递到stdin上的服务器的数据。结果将发送到标准输出或使用-o指定的文件。 您可能希望-N/--no buffer选项关闭连接速度慢或类似情况下的缓冲输出。 使用-t选项将选项传递给telnet协议协商。要告诉服务器我们使用的是vt100终端,请尝试一些方法 比如:

it-t的其他有趣选项包括:

  • XDISPLOC=设置X显示位置

  • NEW_ENV=设置环境变量。 注意:telnet协议没有指定使用指定用户和密码登录的任何方式,因此curl无法自动完成此操作。到 要做到这一点,您需要跟踪何时收到登录提示,以及 发送相应的用户名和密码


您是在问如何使用curl提供凭据吗?有很好的记录。您是否有一个您正在尝试的方法的示例?这是我正在尝试的命令:curl-header“Content-Type:text/xml;charset=UTF-8”--header“SOAPAction:urn:login”--basic-u用户名:密码--data@test.xmlurl@Eddie我关心的是如何从unix调用web服务,该服务通过telnet连接公开。我试图连接到外部web服务。我能够连接到服务器,但没有从外部服务器得到任何响应。我在下面的某个地方找到了一个命令,我们可以尝试在连接建立后检查服务器是否有响应:telnet服务器端口尝试服务器。。。已连接到服务器。转义字符为“^]”。POST/但在发送此命令时,服务器没有收到任何响应。您知道这是否是测试服务器是否响应的正确方法吗?
    curl -tTTYPE=vt100 telnet://remote.server.com