PHP のカールもそれほど複雑ではありません
多くの学生は (私を含めて) 初めてカールを使用したときに圧倒され、いくら見ても理解できませんでした。 10 分かけて私の紹介文を読んでください。将来的には PHP のカールを簡単に遊べるようになると思います
まず、curl コードを見てください (10 秒かかります。簡単に読んでください)。次に以下に進みます)
<span style="color: #008080;"> 1</span> <?<span style="color: #000000;">php </span><span style="color: #008080;"> 2</span> <span style="color: #800080;">$data</span> = "<soap:Envelope>[...]</soap:Envelope>"<span style="color: #000000;">; </span><span style="color: #008080;"> 3</span> <span style="color: #800080;">$tuCurl</span> =<span style="color: #000000;"> curl_init(); </span><span style="color: #008080;"> 4</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_URL, "https://example.com/path/for/soap/url/"<span style="color: #000000;">); </span><span style="color: #008080;"> 5</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_PORT , 443<span style="color: #000000;">); </span><span style="color: #008080;"> 6</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_VERBOSE, 0<span style="color: #000000;">); </span><span style="color: #008080;"> 7</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_HEADER, 0<span style="color: #000000;">); </span><span style="color: #008080;"> 8</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_SSLVERSION, 3<span style="color: #000000;">); </span><span style="color: #008080;"> 9</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_SSLCERT, <span style="color: #008080;">getcwd</span>() . "/client.pem"<span style="color: #000000;">); </span><span style="color: #008080;">10</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_SSLKEY, <span style="color: #008080;">getcwd</span>() . "/keyout.pem"<span style="color: #000000;">); </span><span style="color: #008080;">11</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_CAINFO, <span style="color: #008080;">getcwd</span>() . "/ca.pem"<span style="color: #000000;">); </span><span style="color: #008080;">12</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_POST, 1<span style="color: #000000;">); </span><span style="color: #008080;">13</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_SSL_VERIFYPEER, 1<span style="color: #000000;">); </span><span style="color: #008080;">14</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_RETURNTRANSFER, 1<span style="color: #000000;">); </span><span style="color: #008080;">15</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_POSTFIELDS, <span style="color: #800080;">$data</span><span style="color: #000000;">); </span><span style="color: #008080;">16</span> curl_setopt(<span style="color: #800080;">$tuCurl</span>, CURLOPT_HTTPHEADER, <span style="color: #0000ff;">array</span>("Content-Type: text/xml","SOAPAction: \"/soap/action/query\"", "Content-length: ".<span style="color: #008080;">strlen</span>(<span style="color: #800080;">$data</span><span style="color: #000000;">))); </span><span style="color: #008080;">17</span> <span style="color: #008080;">18</span> <span style="color: #800080;">$tuData</span> = curl_exec(<span style="color: #800080;">$tuCurl</span><span style="color: #000000;">); </span><span style="color: #008080;">19</span> <span style="color: #0000ff;">if</span>(!curl_errno(<span style="color: #800080;">$tuCurl</span><span style="color: #000000;">)){ </span><span style="color: #008080;">20</span> <span style="color: #800080;">$info</span> = curl_getinfo(<span style="color: #800080;">$tuCurl</span><span style="color: #000000;">); </span><span style="color: #008080;">21</span> <span style="color: #0000ff;">echo</span> 'Took ' . <span style="color: #800080;">$info</span>['total_time'] . ' seconds to send a request to ' . <span style="color: #800080;">$info</span>['url'<span style="color: #000000;">]; </span><span style="color: #008080;">22</span> } <span style="color: #0000ff;">else</span><span style="color: #000000;"> { </span><span style="color: #008080;">23</span> <span style="color: #0000ff;">echo</span> 'Curl error: ' . curl_error(<span style="color: #800080;">$tuCurl</span><span style="color: #000000;">); </span><span style="color: #008080;">24</span> <span style="color: #000000;">} </span><span style="color: #008080;">25</span> <span style="color: #008080;">26</span> curl_close(<span style="color: #800080;">$tuCurl</span><span style="color: #000000;">); </span><span style="color: #008080;">27</span> <span style="color: #0000ff;">echo</span> <span style="color: #800080;">$tuData</span><span style="color: #000000;">; </span><span style="color: #008080;">28</span> ?>
一体何をしているのですか?
この「高度な」使い方を学びたいですか?
まず、ほとんどの Web アドレスは http で始まることを知っておく必要があると思います。これは、データ送信に http (Hypertext Transfer Protocol HTTP-ハイパーテキスト転送プロトコル) を使用する必要があるためです。 . しかし、データの送信は、単に「Hello」をサーバーに送信するだけではなく、受信者が送信者の実際の意図を理解し、送信者が誰であるかを知るために、多くの追加情報を追加する必要があります。差出人が手紙の周りに封筒をかぶせるのと同じように、封筒には差出人に関するさまざまな情報が書かれ、情報が同時に受信者に送信されます。これらすべては最終的にメッセージと呼ばれるものに結合され、インターネット全体の基礎を形成しました。
Curl の仕事は、http プロトコルを通じてこれらのメッセージを送信することです (php の libcurl は現在 https、ftp、telnet、など。他のプロトコル)
次にコードを見てください。実際、コードは
GETとPOSTの使用方法は次のとおりですメソッド 任意のページからデータをキャプチャして送信します
<span style="color: #008080;"> 1</span> <?<span style="color: #000000;">php</span><span style="color: #008080;"> 2</span> <span style="color: #008000;">//</span><span style="color: #008000;">初始化</span><span style="color: #008080;"> 3</span> <span style="color: #800080;">$curl</span> =<span style="color: #000000;"> curl_init();</span><span style="color: #008080;"> 4</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置url</span><span style="color: #008080;"> 5</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_URL, 'http://www.baidu.com'<span style="color: #000000;">);</span><span style="color: #008080;"> 6</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置返回获取的输出为文本流</span><span style="color: #008080;"> 7</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_RETURNTRANSFER, <span style="color: #0000ff;">true</span><span style="color: #000000;">);</span><span style="color: #008080;"> 8</span> <span style="color: #008000;">//</span><span style="color: #008000;">执行命令</span><span style="color: #008080;"> 9</span> <span style="color: #800080;">$data</span> = curl_exec(<span style="color: #800080;">$curl</span><span style="color: #000000;">);</span><span style="color: #008080;">10</span> <span style="color: #008000;">//</span><span style="color: #008000;">关闭URL请求</span><span style="color: #008080;">11</span> curl_close(<span style="color: #800080;">$curl</span><span style="color: #000000;">);</span><span style="color: #008080;">12</span> <span style="color: #008000;">//</span><span style="color: #008000;">显示获得的数据</span><span style="color: #008080;">13</span> <span style="color: #008080;">print_r</span>(<span style="color: #800080;">$data</span><span style="color: #000000;">);</span><span style="color: #008080;">14</span> ?><span style="color: #008080;">15</span> <span style="color: #008080;">16</span> <?<span style="color: #000000;">php</span><span style="color: #008080;">17</span> <span style="color: #008000;">//</span><span style="color: #008000;">初始化</span><span style="color: #008080;">18</span> <span style="color: #800080;">$curl</span> =<span style="color: #000000;"> curl_init();</span><span style="color: #008080;">19</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置url</span><span style="color: #008080;">20</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_URL, 'http://www.baidu.com'<span style="color: #000000;">);</span><span style="color: #008080;">21</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置返回获取的输出为文本流</span><span style="color: #008080;">22</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_RETURNTRANSFER, <span style="color: #0000ff;">true</span><span style="color: #000000;">);</span><span style="color: #008080;">23</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置post方式提交</span><span style="color: #008080;">24</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_POST, 1<span style="color: #000000;">);</span><span style="color: #008080;">25</span> <span style="color: #008000;">//</span><span style="color: #008000;">设置post数据</span><span style="color: #008080;">26</span> curl_setopt(<span style="color: #800080;">$curl</span>, CURLOPT_POSTFIELDS, <span style="color: #0000ff;">array</span>("data"=>"value"<span style="color: #000000;">);</span><span style="color: #008080;">27</span> <span style="color: #008000;">//</span><span style="color: #008000;">执行命令</span><span style="color: #008080;">28</span> <span style="color: #800080;">$data</span> = curl_exec(<span style="color: #800080;">$curl</span><span style="color: #000000;">);</span><span style="color: #008080;">29</span> <span style="color: #008000;">//</span><span style="color: #008000;">关闭URL请求</span><span style="color: #008080;">30</span> curl_close(<span style="color: #800080;">$curl</span><span style="color: #000000;">);</span><span style="color: #008080;">31</span> <span style="color: #008000;">//</span><span style="color: #008000;">打印数据</span><span style="color: #008080;">32</span> <span style="color: #008080;">print_r</span>(<span style="color: #800080;">$data</span><span style="color: #000000;">);</span><span style="color: #008080;">33</span> ?>
興味のある学生は、公式の PHP ドキュメントを参照して、curl の使用方法を詳しく学ぶこともできます