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


我的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

6222
2018-01-19 06:45


起源

我的钱在字符串=name blah 在哪里你期待 blah。使用 --skip-column-names - Serge Wautier
只需检查您的网址 ping $url 并看看它是否回复。否则,请更正网址。


答案:


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


4
2018-01-21 09:04





根据男子卷曲,错误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]

4
2018-01-19 07:19





你可以吗?  “www.company.com”(我假设那不是 真实 你要连接的名字)?

打印出来可能是值得的 $url 变量在你之前 curl 因为它可能是畸形的。

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


2
2018-01-19 06:52



我可以。也可以在终端做一个卷曲。实际上我正在改变IP地址。而且我想用这个网址做一个帖子。 - Hend


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

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

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


0
2018-02-23 12:10