Web開発者向けのコマンドラインツール。 cURL の操作スキルを磨く Curl ウィンドウで使用する
実際の例: IP アドレスを変更するには、ルーター (モデム) を再起動する必要があります。 これを行うには、ルーターにログインし、メンテナンス ページに移動して、「再起動」ボタンをクリックする必要があります。 このアクションを複数回実行する必要がある場合は、手順を繰り返す必要があります。 同意します。このルーチンを毎回手動で実行する必要はありません。 cURL を使用すると、これらすべてを自動化できます。 いくつかの cURL コマンドを使用するだけで、ルーター上で認証を取得し、タスクを完了できます。
- cURL は、コマンド ラインで Web サイトからデータを取得する場合に便利です。
それらの。 cURL を使用するケースは非常に現実的ですが、ほとんどの場合、プログラムで cURL を使用するプログラマーが cURL を必要とします。
CURL は多くのプロトコルと認証方法をサポートし、ファイルを転送でき、Cookie を正しく処理し、SSL 証明書、プロキシなどをサポートします。
PHP およびコマンドラインの cURL
cURL は、PHP スクリプトとコマンド ラインという 2 つの主な方法で使用できます。
サーバー上の PHP で cURL を有効にするには、php.ini ファイル内の行のコメントを解除する必要があります。
拡張子=php_curl.dll
そしてサーバーを再起動します。
Linux では、curl パッケージをインストールする必要があります。
Debian、Ubuntu、または Linux Mint の場合:
$ sudo apt-get インストールカール
Fedora、CentOS、または RHEL の場合:
$ sudo yum インストールカール
PHP とコマンド ラインでの使用の違いを明確に確認するために、同じタスクを 2 回実行します。最初は PHP スクリプトで、次にコマンド ラインでです。 混乱しないようにしましょう。
cURL を使用したデータの取得
PHP で cURL を使用してデータを取得する
PHP の例:
すべては非常にシンプルです:
$target_url- 興味のあるサイトのアドレス。 サイト アドレスの後にコロンを入力してポート アドレスを追加できます (ポートが標準のものと異なる場合)。
カール初期化- 新しいセッションを初期化し、ハンドルを返します。この例では、変数に割り当てられています。 $ch.
次に、cURL 関数を使用してリクエストを実行します。 カール_exec、記述子がパラメータとして渡されます。
すべては非常に論理的ですが、このスクリプトが実行されると、サイトのコンテンツがページに表示されます。 しかし、コンテンツを表示するのではなく、(後続の処理または解析のために) 変数に書き込みたい場合はどうすればよいでしょうか。
スクリプトに少し追加してみましょう。
0) ( echo "カール エラー: " .curl_error($ch); )curl_close($ch); ?>
ラインがございます curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);.
カール_セトップト- オプションを設定します。 オプションの完全なリストは、次のページにあります。
ゲストから隠された
$response_data =curl_exec($ch);
これで、スクリプト値が $response_data 変数に割り当てられ、これを使用してさらなる操作を実行できるようになります。 たとえば、その内容を表示できます。
ステッチ
If (curl_errno($ch) > 0) ( echo "Curl エラー: " .curl_error($ch); )
エラーが発生した場合のデバッグに役立ちます。
コマンドラインで cURL を使用してデータを取得する
コマンドラインに次のように入力します。
代わりにどこで mi-al.ru- ウェブサイトのアドレス。
結果を画面に表示するのではなく、データを変数にコピーする必要がある場合は、次のようにします。
Temp="カールミアル.ru"
ただし、一部のデータは引き続き表示されます。
表示されないようにするには、キーを追加します -s:
Temp="curl -s mi-al.ru"
記録された内容を確認できます。
エコー $temp | 少ない
基本認証とHTTP認証認証とは、簡単に言えば、ユーザー名とパスワードを入力することです。
基本認証はサーバーベースの認証です。 このために、2 つのファイルが作成されます。 .htaccessそして .htpasswd
.htaccessファイルの内容はこんな感じです
AuthName "登録ユーザーのみ!" AuthType Basic require valid-user AuthUserFile /home/freeforum.biz/htdocs/.htpassw
.htpasswd ファイルの内容は次のようなものです。
ミアル:CRdiI.ZrZQRRc
それらの。 ログインとパスワードのハッシュ。
パスワードで保護されたフォルダーにアクセスしようとすると、ブラウザーに次のようなメッセージが表示されます。
HTTP 認証は、Web サイト上のフォームにログイン名とパスワードを入力する場合に当てはまります。 メールやフォーラムなどにログインするときに使用される認証です。
基本的な cURL 認証 (PHP)
ウェブサイトがあります
ゲストから隠された
最初のスクリプトを試してみましょう。
0) ( echo "Curl エラー: " .curl_error($ch); ) else ( echo $response_data; )curl_close($ch); ?>
スクリプトはエラーがないと信じていますが、出力結果はまったく気に入りません。
次の 2 行を追加します。
Curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); curl_setopt($ch, CURLOPT_USERPWD, "ru-board:ru-board");
最初の行では、認証タイプとして基本を設定します。 2 行目には、コロンで区切られた名前とパスワードが含まれます (この例では、名前とパスワードは同じです - ru-board)。 次のようになりました。
0) ( echo "Curl エラー: " .curl_error($ch); ) else ( echo $response_data; )curl_close($ch); ?> 試してみましょう: 30946 素晴らしい! 基本的な cURL 認証 (コマンド ライン上) 同じことをコマンド ラインでも次の 1 行で実現できます。curl -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/
認証タイプを指定するのを忘れたわけではありません。cURL では基本認証タイプがデフォルトであるだけです。
コマンド ラインですべてがすぐにうまくいったので、イライラして次のプログラムを作成しました。 彼女はサイトに接続し、最新のアップデートをダウンロードします。
Temp=`curl -s -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/ | grep -E -o "Update_FED_201(1).(2).(2).7z" | ユニーク | 末尾 -n 1`; カール -o $temp -u ru-board:ru-board http://62.113.208.29/Update_FED_DAYS/$temp
さらにいくつかのコマンドを追加するだけで、次のことが可能になります。
- アーカイブを指定されたディレクトリに解凍します。
- ConsultantPlus のアップデートを開始します (これらはそのアップデートです)。
- 利用可能な最新のアップデートがすでにダウンロードされているか、新しいアップデートが登場したかを確認できます。
- 毎日の更新のためにすべてを Cron に追加します。
PHP での HTTP cURL 認証
私たちは知る必要がある:
- 認証データの送信先アドレス
- 送信メソッド GET または POST
- ログイン
- パスワード
データを送信する必要があるアドレスは、認証フォームから取得できます。 例えば: