2012-01-19 96 views
11

私のbashスクリプトに問題があります。それは私が間違ってやっていることBash - Curl(6)がホストの問題を解決できませんでした。

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 
+0

私のお金は、文字列= '名前をblah'で、あなたは' blah'を期待しています。 '--skip-column-names'を使用してください –

+0

あなたのURLを' ping $ url'で確認して、それが返答するかどうかを確かめてください。それ以外の場合は、URLを修正してください。 –

答えて

3

文字列全体/ URLをプリントアウトしてみます。私はそれにいくつかの問題があるはずだと信じています。

2

そして、あなたピング「www.company.com」すべてで(私はそれはあなたが接続している本当名前ではありませんと仮定している)ことができますか?

curlの前に変数$urlを印刷することは価値があるかもしれませんが、形式が間違っている可能性があります。

最終的なものです。 あなたは-Fを使用する必要がありますか?これは自動化されたフォームの入力と思われます。オプション「-f」を「静かに失敗する」ことができますか?

+0

はい、できます。ターミナルでもカールすることができます。実際、私は代わりにIPアドレスでカールしています。実際にそのURLで投稿をしたいのです。 – Hend

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 [email protected] -F press=OK [resolv-able url] 
0

完全性のために:これはネットワークに問題がある場合にも発生します。

たとえば、これをテストするには、ローカルマシンでインターネットへの接続をシャットダウンし、URLに接続しようとします。まったく同じエラーが返されます。

現在のところ、リモートサーバーの問題と私たちのネットワーク上の問題を区別する方法はありません。

関連する問題