Bash - Curl(6)无法解决主机问题

时间:2012-01-19 06:45:31

标签: bash curl

我的bash脚本有问题。它产生错误

curl (6) couldn't resolve host

我做错了什么?

以下是我的bash脚本。

#!/bin/bash

string="$(mysql -u root -p Company 'select name from HR')"
url="http://www.company.com/company/hr/$string"

curl -F $url

4 个答案:

答案 0 :(得分:4)

根据男子卷曲,错误6表示“无法解析主持人。给定的 远程主机没有解决。“所以你必须检查是否有主机名 url可解析为ip地址。

当您需要向服务器提交数据时,例如使用下面的表单

<form method="POST" enctype='multipart/form-data' action="upload.cgi">
  <input type=file name=upload>
  <input type=submit name=press value="OK">
</form>

你可以使用以下等效物卷曲。 (确保服务器 您提交的内容已准备好接收数据)

curl -F upload=@localfilename -F press=OK [resolv-able url]

答案 1 :(得分:4)

尝试打印出整个字符串/网址。我相信它应该有一些问题。

答案 2 :(得分:2)

你可以 ping “www.company.com”(我假设那不是你正在连接的真正的名称)吗?

在您$url之前打印curl变量可能是值得的,因为它可能会格式不正确。

最后一件事。您确定您应该使用-F吗?这似乎是自动填表。您是否有可能“无声地失败”选项-f

答案 3 :(得分:0)

为了完整性:如果您的网络出现问题,也会发生这种情况。

例如,要对此进行测试,请在本地计算机上关闭与Internet的连接并尝试连接到URL:返回完全相同的错误。

所以目前我不知道如何区分远程服务器上的问题和我们自己网络上的问题。