PHPのcurlもそれほど複雑ではありません

WBOY
リリース: 2016-06-21 08:47:13
オリジナル
872 人が閲覧しました

多くの学生は (私も含めて) 初めてカールを使用するとき、curl_setopt 関数を見て完全に混乱します。しかし、10 分かけて私の紹介を読めば、将来は PHP を使えるようになると思います。簡単にカールします。

まず、curl コードを見てください (10 秒ほどかけて簡単に読んでから、次へ進んでください)

1

2 $data = "[...]";

3 $tuCurl =curl_init();

4curl_setopt($tuCurl, CURLOPT_URL, "https://example.com/path/for/soap/url/");

5curl_setopt($tuCurl, CURLOPT_PORT , 443);

6curl_setopt($tuCurl, CURLOPT_VERBOSE, 0);

7curl_setopt($tuCurl, CURLOPT_HEADER, 0);

8curl_setopt($tuCurl, CURLOPT_SSLVERSION, 3);

9curl_setopt($tuCurl, CURLOPT_SSLCERT, getcwd() . "/client.pem");

10curl_setopt($tuCurl, CURLOPT_SSLKEY, getcwd() . "/keyout.pem");

11curl_setopt($tuCurl, CURLOPT_CAINFO, getcwd() . "/ca.pem");

12curl_setopt($tuCurl, CURLOPT_POST, 1);

13curl_setopt($tuCurl, CURLOPT_SSL_VERIFYPEER, 1);

14curl_setopt($tuCurl, CURLOPT_RETURNTRANSFER, 1);

15curl_setopt($tuCurl, CURLOPT_POSTFIELDS, $data);

16curl_setopt($tuCurl, CURLOPT_HTTPHEADER, array("Content-Type: text/xml","SOAPAction: "/soap/action/query"", "Content-length: ".strlen($data))) ;

17

18 $tuData =curl_exec($tuCurl);

19 if(!curl_errno($tuCurl)){

20 $info =curl_getinfo($tuCurl);

21 echo ' . $info['total_time'] . ' 秒で ' $info['url'];

22 } else {

23 echo 'カールエラー: ' .curl_error($tuCurl);

24 }

25

26curl_close($tuCurl)

27 echo $tuData

28 ?>

なんと、一体何をしているのですか?

この「ハイエンド」の使い方を学びたいですか?

まず、ほとんどの URL は http で始まることを知っておいてください。これは、データを送信するために http (ハイパーテキスト転送プロトコル) を使用する必要があるためですが、データの送信は単に文章を送信するだけではありません。 「こんにちは」というメッセージがサーバーに送信されます。受信者が送信者の実際の意図を理解し、送信者が誰であるかを知るために、送信者は多くの追加情報を受信者に送信します。たとえば、送信者は封筒を周囲に置く必要があります。封筒にはさまざまな差出人の情報が書かれた手紙。これらすべては最終的にメッセージと呼ばれるものに結合され、インターネット全体の基礎を形成しました。

curl の仕事は、http プロトコルを通じてこれらのメッセージを送信することです (php の libcurl は現在 https、ftp、telnet およびその他のプロトコルもサポートしています)

今コードを見ると、コードは実際には 5 つのことしか行っていません

curl_init() はcurlを初期化します

curl_setopt() は送信データとパラメータを設定します

curl_exec() は転送を実行し、戻りデータを取得します

curl_errono() はエラー コードを返します

curl_close() はcurlを閉じます

以下は、GET メソッドと POST メソッドを使用して任意のページからデータをクロールおよび送信する方法を示しています

1 2 //初期化

3 $curl =curl_init();

4 //URL を設定します

5curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');

6 //返された出力をテキスト ストリームとして設定します

7curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

8 //コマンドを実行

9 $data =curl_exec($curl);

10 //URL リクエストを閉じる

11curl_close($curl);

12 //取得したデータを表示

13 print_r($data);

14 ?>

15

16 17 //初期化

18 $curl =curl_init();

19 //URLを設定

20curl_setopt($curl, CURLOPT_URL, 'http://www.baidu.com');

21 //返された出力をテキスト ストリームとして設定します

22curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

23 //投稿メソッドを submit に設定します

24curl_setopt($curl, CURLOPT_POST, 1);

25 //投稿データを設定します

26curl_setopt($curl, CURLOPT_POSTFIELDS, array("data"=>"value");

27 //コマンドを実行

28 $data =curl_exec($curl);

29 //URL リクエストを閉じる

30curl_close($curl);

31 //データを印刷します

32 print_r($data);

33 ?>



関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート