2010-04-21 81 views
1

所以我不是一个很好的网络人,所以我希望有人能指出我在正确的方向来弄清楚我做错了什么。卷曲问题与URL不连接

我正在尝试使用curl发布SOAP消息。我运行以下内容:

curl -d“xml消息的字符串”-H“Content-Type:text/xml; charset = utf-8”“[ip]:[port]/[service]”

这会导致“连接被拒绝”消息。

所以我尝试ping自己的IP ...没有问题。 然后,我想也许我需要http://[ip]:[port]/[service],所以我试图ping http://[ip],我得到: 未知的主机http://[ip]但如果我自己ping IP,我没有问题。

想从哪里开始调试这个问题?

+0

curl(不能ping),将会使用或不使用http。 – 2010-04-21 17:06:02

回答

1

首先,ping不能使用HTTP协议,只能ping域名。看看ping at wikipedia了解更多。

卷曲通常不需要任何幻想,只需要输入curl [protocol]:[host]:[port]/[service]开始,看看你是否得到了答复。我想这就是当你试图ping远程地址时你正在寻找的东西。

根据cURL尝试的反应判断,您会知道您的尝试是否成功。这可能不会是因为它确实是连接被拒绝,您没有包含错误的参数。

现在,假设它是一个连接问题,请尝试对其他东西(像Google.com这样的常规域)进行卷曲以确保您没有连接问题。然后,要了解远程服务器是否存在问题,可以从另一台服务器执行相同的Curl尝试(或要求其他服务器执行此操作),并查看是否拒绝连接。这是一个很好的尝试,可以围绕这个问题展开讨论并获得更多的清晰度。

+0

这个简单的卷曲失败。另外,我无法ping通http://www.google.com,无论是从我的PC还是PC,我都试图运行curl命令。 – 2010-04-21 17:31:28

+0

开始 - >运行 - > Cmd - > Ping'www.google.com'。不起作用?另外,当你卷曲时,确实提供一个协议(例如'curl http:// localhost:8010/service /)。我已经更新了我的回复以反映这一点。在您尝试设置服务器的机器上,您可能想要在正确的端口上curl localhost以查看Web服务器是否设置正确。 – 2010-04-21 17:48:11

0

Ping(或ICMP)流量通常在与HTTP流量不同的端口上运行(通常)。 HTTP通常位于端口80运行

尝试远程连接到使用以下命令服务(IP和端口):

远程登录(IP)80(无括号)。

如果你能够连接到服务,那么你还有其他一些问题,但是,如果服务不允许你连接,那么你知道该服务阻止你从端口(通常为HTTP 80)服务正在运行。

+0

Telnet nmap同样适用。 – amphetamachine 2010-04-21 17:11:10

+0

我收到连接在telnet命令上被拒绝......这是什么意思? – 2010-04-21 17:11:47

+0

这意味着主机不接受该端口上的连接。它没有按照您的期望配置。 – 2010-04-21 17:13:10