PHP_PHP チュートリアルでのcurl_init関数の使用手順
$ch =curl_init();
$c_url = 'http://www.baidu.com'
$c_url_data = "product_&type=".$ "" ;
curl_setopt($ch, CURLOPT_URL,$c_url);
curl_setopt($ch, CURLOPT_POSTFIELDS, $c); _url_data) ;
echo $ result =curl_exec($ch);
curl_close ($ch);
PHP での Curl の使用
投稿日: 2008 年 9 月 14 日 PHP に帰属
要約:
この記事では、主に php_curl ライブラリの知識を説明し、その使用方法を説明しますphp_curl を使用することをお勧めします。
はじめに
PHP スクリプト コードを作成するときに次の問題に遭遇することがあります: 他のサイトからコンテンツを取得するにはどうすればよいですか?ここにはいくつかの解決策があります。最も簡単なのは、PHP で fopen() 関数を使用することですが、fopen 関数には、「Web クローラー」を構築してクライアントの説明を定義したい場合などに使用する十分なパラメーターがありません。クローラー (IE、Firefox) の場合、POST、GET などのさまざまなリクエスト メソッドを通じてコンテンツを取得します。これらの要件は、 fopen() 関数を使用して達成することはできません。
上記の問題を解決するには、PHP 拡張ライブラリ Curl を使用します。この拡張ライブラリは通常、デフォルトでインストール パッケージに含まれており、他のサイトのコンテンツを取得したり、他のことを行うために使用できます。
注: これら 2 つのコードには、php_curl 拡張ライブラリのサポートが必要です。curl サポートが有効になっている場合は、curl ライブラリがサポートされていることを意味します。
1. Windows で PHP の CURL ライブラリのサポートを有効にします:
php.ini を開き、extension=php_curl.dll の前の ; 記号を削除します。
2. Linux で PHP の Curl ライブラリのサポートを有効にします:
PHP をコンパイルするときに ./configure の後に –with-curl を追加します
この記事では、curl ライブラリの使用方法と、その便利なその他の機能を見てみましょう。 、最も基本的な使用法から始める必要があります
基本的な使用法:
最初のステップでは、関数curl_init()を通じて新しいcurlセッションを作成します。コードは次のとおりです:
// 新しいcurlリソースを作成します
$ch =curl_init();
?>
URL のコンテンツを取得する必要がある場合、次のステップは URL をcurl_setopt() 関数に渡すことです:
// URL とその他の適切なオプションを設定します
curl_setopt($ch, CURLOPT_URL, “http://www.google.com/”)
?> 前のステップが完了すると、curl の準備作業が完了します。 URL サイトのコンテンツを取得して印刷します。コード:
// URL を取得してブラウザに渡します
curl_exec($ch);
?> 最後に、現在の Curl セッションを閉じます
//curl リソースを閉じ、システム リソースを解放します
curl_close($ch) ;
?>
完成したコード例を見てみましょう:
コードは次のとおりです:
別のサイトのコンテンツを取得して、それを自動的にブラウザに出力する方法はありますか?情報を取得し、その出力内容を制御する場合はどうなるでしょうか? curl_setopt() 関数のパラメータで、コンテンツを取得するが出力しない場合は、CURLOPT_RETURNTRANSFER パラメータを 0 以外の値/true! に設定します。を参照してください:
コードをコピーします
コードは次のとおりです:
$ch =curl_init()
// URLとその他の適切なオプションを設定します
echo $output
;
上記の 2 つの例では、curl_setopt() 関数の異なるパラメーターを設定することで異なる結果が得られることに気づいたかもしれません。これが、curl が強力な理由です。これらのパラメーターの意味を見てみましょう。
CURL 関連のオプション:
PHP マニュアルのcurl_setopt() 関数を読んだことがある方は、その下にパラメータの長いリストがあることがわかります。詳細については、1 つずつ紹介するのは不可能です。 PHP マニュアルを確認してください。ここでは、一般的に使用されるいくつかのパラメーターと一部のパラメーターのみが紹介されています。
最初の興味深いパラメータは CURLOPT_FOLLOWLOCATION です。このパラメータを true に設定すると、curl はリダイレクト コマンドに基づいてより深いリダイレクト パスを取得します。たとえば、PHP ページを取得しようとすると、次のようなジャンプ コードが含まれます。 PHP ページでは、Curl はジャンプ コードを返す代わりに http://new_url からコンテンツを取得します。完全なコードは次のとおりです:
// 新しいcurlリソースを作成します
$ch =curl_init()
// URLおよびその他の適切なオプションを設定します
curl_setopt; ($ch, CURLOPT_URL , "http://www.google.com/");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true);
// URL を取得し、
curl_exec($ch);
次に導入されるパラメーターは CURLOPT_POST です。これは、GET リクエストの代わりに POST リクエストを実行できるため、非常に便利な機能です。つまり、実際にフォーム Fill in を使用せずに
他のフォーム ページを送信できることを意味します。次の例は、私が言いたいことを示しています:
// URLとその他の適切なオプションを設定します。
curl_setopt($ ch, CURLOPT_URL,"http://projects/phpit/content/using%20curl%20php/demos/handle_form.php");
// POST を実行します
$data = array('name' =>) ; 'デニス' , '姓' => 'パレット');
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
// URL を取得し、
curl_exec($) ch);
?>
echo '受信したフォーム変数:';
echo '';これにより、フォームの送信が非常に簡単になり、常にフォームに入力することなくすべてのフォームをテストできる優れた方法であることがわかります。
CURLOPT_CONNECTTIMEOUT パラメータは通常、curl がリンクをリクエストする時間を設定するために使用されます。これは非常に重要なオプションです。この時間を設定しすぎると、curl リクエストが失敗する可能性があります。
しかし、あまりにも長く設定すると、おそらく PHP スクリプトが停止してしまいます。このパラメータに関連するオプションは CURLOPT_TIMEOUT です。これは、curl の実行が許可されるまでに必要な時間を設定するために使用されます。これを非常に小さい値に設定すると、ダウンロードに時間がかかるため、ダウンロードされたページが不完全になる可能性があります。
最後のオプションは CURLOPT_USERAGENT で、webspilder や IE6.0 などのリクエストのクライアント名をカスタマイズできます。 サンプル コードは次のとおりです:
コードをコピーします
// 新しいcurlリソースを作成します
$ch =curl_init();
// URLおよびその他の適切なオプションを設定します
curl_setopt($ch, CURLOPT_URL, "http://sc.jb51.net/"); ($ch, CURLOPT_USERAGENT, ' 私のカスタム Web スパイダー/0.1');
コードをコピーします
コードは次のとおりです:
// 新しいcurlリソースを作成します
$ch =curl_init();
// URLおよびその他の適切なオプションを設定します
curl_setopt($ch, CURLOPT_URL, “http://www.google.com”); $ch, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($ch, CURLOPT_FILETIME, true);
// URL を取得します
$output =curl_exec($ch);
echo '';
print_r (curl_getinfo($ch));
echo '';
返される情報のほとんどは、このリクエストに費やされた時間、ヘッダー ファイルなどです。返される情報には、もちろん、ページ コンテンツのサイズや最終変更時刻などのページ情報もあります。
curl_getinfo() 関数については以上です。実際に何に使用されるかを見てみましょう。
実際の使用法:
コードをコピーします
curl_setopt($ch, CURLOPT_RETURTRANSFER, true);
// URL を取得します
$output =curl_exec($ch); / 応答コードを取得
$response_code =curl_getinfo($ ch, CURLINFO_HTTP_CODE)
// 見つからない場合
if ($response_code == '404') {
echo 'ページが存在しません'
} else {
echo $output;
}
?>
他のユーザーは、要求された各ページの存在を確認する自動チェッカーを作成できます。
curl ライブラリを使用して、Google や他の Web スパイダーに似た Web スパイダーを作成できます。この記事はウェブ スパイダーの書き方に関するものではないため、ウェブ スパイダーについては詳しく説明しませんが、将来的には、curl を使用して PHPit でウェブ スパイダーを構築する方法を紹介します
結論:
この記事では、すでに PHP でのカール ライブラリの使用方法とそのほとんどのオプションを示します。
近い将来、phpit を使用して、Google のウェブ スパイダーに似た独自のウェブ スパイダーを構築する方法を正確に説明する予定ですので、楽しみにしていてください。
http://www.bkjia.com/PHPjc/322663.html
www.bkjia.com

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

あなたが経験豊富な PHP 開発者であれば、すでにそこにいて、すでにそれを行っていると感じているかもしれません。あなたは、運用を達成するために、かなりの数のアプリケーションを開発し、数百万行のコードをデバッグし、大量のスクリプトを微調整してきました。

Visual Studio Code (VS Code とも呼ばれる) は、すべての主要なオペレーティング システムで利用できる無料のソース コード エディター (統合開発環境 (IDE)) です。 多くのプログラミング言語の拡張機能の大規模なコレクションを備えた VS Code は、

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

このチュートリアルでは、PHPを使用してXMLドキュメントを効率的に処理する方法を示しています。 XML(拡張可能なマークアップ言語)は、人間の読みやすさとマシン解析の両方に合わせて設計された多用途のテキストベースのマークアップ言語です。一般的にデータストレージに使用されます

文字列は、文字、数字、シンボルを含む一連の文字です。このチュートリアルでは、さまざまな方法を使用してPHPの特定の文字列内の母音の数を計算する方法を学びます。英語の母音は、a、e、i、o、u、そしてそれらは大文字または小文字である可能性があります。 母音とは何ですか? 母音は、特定の発音を表すアルファベットのある文字です。大文字と小文字など、英語には5つの母音があります。 a、e、i、o、u 例1 入力:string = "tutorialspoint" 出力:6 説明する 文字列「TutorialSpoint」の母音は、u、o、i、a、o、iです。合計で6元があります

静的結合(静的::) PHPで後期静的結合(LSB)を実装し、クラスを定義するのではなく、静的コンテキストで呼び出しクラスを参照できるようにします。 1)解析プロセスは実行時に実行されます。2)継承関係のコールクラスを検索します。3)パフォーマンスオーバーヘッドをもたらす可能性があります。

PHPの魔法の方法は何ですか? PHPの魔法の方法には次のものが含まれます。1。\ _ \ _コンストラクト、オブジェクトの初期化に使用されます。 2。\ _ \ _リソースのクリーンアップに使用される破壊。 3。\ _ \ _呼び出し、存在しないメソッド呼び出しを処理します。 4。\ _ \ _ get、dynamic属性アクセスを実装します。 5。\ _ \ _セット、動的属性設定を実装します。これらの方法は、特定の状況で自動的に呼び出され、コードの柔軟性と効率を向上させます。
