多くの学生は (私も含めて) 初めてカールを使用するとき、curl_setopt 関数を見て完全に混乱します。しかし、10 分かけて私の紹介を読めば、将来は PHP を使えるようになると思います。簡単にカールします。
まず、curl コードを見てください (10 秒ほどかけて簡単に読んでから、次へ進んでください)
1
2 $data = "
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 ?>