私は、HTMLフォームを使用してWebサイトURLを複数のcURLコマンド(現在はシェルスクリプトフォーム)に提出する最良の方法を探しています。これはHTTPのチェックに使用されますステータス(302など)、プルヘッダー、リダイレクトに従います。リモートのWebサーバーのステータスをチェックするための基本的なcURL関数を使用します。これは、問題のランダムなウェブサイトが現在アクセス可能であることを確認できることを確認するためのものです。ここでも、これらの変数は、何らかの形式で動的に定義する必要があり、スクリプトを介して静的変数/ argとして設定する必要はありません。HTMLフォームからURLをcURLプロセスに渡す
私はこれをターミナルからPHPスクリプトとbashスクリプトを使って実行することができましたが、HTMLフォームからサーバーサイドスクリプトにURLを渡すのに最適なプロセスは何か分かりませんcURLのためのシェルプロセスの前に...またはそれが最高のオプションであっても、正直なところ。私はまた、PHPがこのプロセスのための最良の選択肢ではないかもしれないことを認識しています。なぜなら、必ずしもこれを実行する最も安全な方法ではないからです。
私がしたいのは、次のHTMLフォームを使用して、次のcURLコマンドにURLを送信することです。これはbashスクリプトに存在するので実行してから結果を返します提供されたURLのステータスの
<html>
<body>
<form method="post" action="test.php">
<input type="text" name="domain" size="35" />
<input type="submit" value="submit" />
</body>
</html>
のcURLコマンド:
curl -Isk $domain | grep HTTP | cut -d ' ' -f2
curl -LIs $domain --max-redirs 10 | grep 301 | wc -l
curl -LIs $domain --max-redirs 10 | grep -i Content-Type
編集::これは私が端末から使用していますPHPスクリプトです。それはうまく動作します。私はHTMLフォームからこのスクリプトに$ domainの値を渡してきて、それから働いていないcURL bashスクリプトに渡そうとしています。私はこれでどこが間違っているのか分かりません。
<?PHP
$domain = "google.com";
$command = "/usr/lib/cgi-bin/test.sh";
$output = shell_exec($command . " " . $domain);
echo "$output";
?>
これは私のtest.sh bashスクリプトです。
#!/bin/bash
domain=$1
output="$(curl -Isk $domain | grep HTTP | cut -d ' ' -f2)"
echo "$output"
私が言ったように、本当のシンプルで、チャンピオンのような作品は端末です。HTML形式から、私が試したことに関係なく... nogo。あらゆる洞察力に感謝します。
PHPを使用してこの問題を解決しようとしたことがあるのであれば、本当の問題は何ですか?それが動作している場合は、ちょうどそのように:) –
返信いただきありがとうございます。問題は、端末だけでなくウェブサイトのフォームからURLを送信する必要があることです。次のPHP、escapearg/escapecmdでは動作しますが、HTMLフォームを使って正しく動作させることはできません...私はいくつかの異なることを試みましたが、無駄です。元の質問を編集してPHPスクリプトを組み込みました。これは$ドメインの静的な値を扱っています。 – uf0undzach