PHP でのカールの使用法は次のとおりです: 1. CURL を使用してリクエストを送信します; 2. CURL リクエストの出力情報を取得します; 3. CURL を使用して GET リクエストを送信します; 4. CURL を使用して送信しますPOSTリクエスト。
php でのcurlの使用法は次のとおりです:
1. を使用してリクエストを送信する基本的なプロセスCURL
CURL の PHP 拡張機能を使用して HTTP リクエストの送信を完了するには、通常、次の手順が必要です:
1. 接続ハンドルを初期化する;
2. CURL オプションを設定する;
3. 実行して結果を取得します;
##4. VURL 接続ハンドルを解放します。 次のプログラムの一部は、CURL を使用して HTTP を送信する一般的なプロセスです// 1. 初始化 $ch = curl_init(); // 2. 设置选项,包括URL curl_setopt($ch,CURLOPT_URL,"http://www.codetc.com"); curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); curl_setopt($ch,CURLOPT_HEADER,0); // 3. 执行并获取HTML文档内容 $output = curl_exec($ch); if($output === FALSE ){ echo "CURL Error:".curl_error($ch); } // 4. 释放curl句柄 curl_close($ch);上記のコードでは 4 つの関数が使用されています
curl_init()および
curl_close()これは、それぞれ CURL 接続を初期化し、CURL 接続を閉じるためのもので、比較的単純です。
curl_exec()CURL リクエストを実行します。エラーが発生しない場合、関数は対応する URL によって返されたデータを返し、満足度を文字列として表します。エラーが発生した場合、関数は戻ります。間違い。出力が FALSE であるかどうかを判断するために等号が使用されていることに注意してください。これは、空の文字列を返すかエラーを返すかを区別するためです。
curl_setopt() です。これは、CURL 関数ライブラリで定義されたオプションを設定することで HTTP 要求をカスタマイズできます。上記のコード スニペットでは 3 つの重要なオプションが使用されています:
2. CURL リクエストの出力情報を取得する
curl_exec() 関数が実行された後、curl_getinfo() を使用できます。 CURL リクエストの出力を取得する関数 関連情報、サンプル コードは次のとおりです。
curl_exec($ch); $info = curl_getinfo($sh); echo ' 获取 '.$info['url'].'耗时'.$info['total_time'].'秒';上記のコードでは、curl_getinfo は次のデータを含む連想配列を返します。
curl_getinfo()この関数には、オプションのパラメータ $opt もあり、これを使用して、上記のフィールドに対応するいくつかの定数を設定できます。の場合、指定された情報のみが返されます。たとえば、$opt が
CURLINFO_TOTAL_TIME に設定されている場合、
curl_getinfo() 関数は、合計送信にかかった時間である total_time のみを返します。特定の送信情報に注意を払うには、$opt パラメータを設定すると非常に便利です。
3. CURL を使用して GET リクエストを送信する
CURL を使用して GET リクエストを送信する方法. GET リクエストを送信するための鍵は、次の URL を組み立てることです。正しいフォーマット。リクエストアドレスとGETデータは「?」で区切られ、次にGET変数の名前と値が「=」で区切られ、それぞれのGET名と値が「&」で結ばれます。 PHP は、GET リクエストとデータ部分を組み立てるために特に使用される関数http_build_query を提供します。この関数は連想配列を受け取り、関連付けられたデータで記述された GET リクエスト文字列を返します。この関数を使用して、CURL が HTTP リクエストを送信する一般的なプロセスと組み合わせて、GET リクエストを送信する関数 doCurlGetRequest を閉じました。具体的なコードは次のとおりです:
/** *@desc 封闭curl的调用接口,get的请求方式。 */ function doCurlGetRequest($url,$data,$timeout = 5){ if($curl == "" || $timeout <= 0){ return false; } $url = $url.'?'.http_bulid_query($data); $con = curl_init((string)$url); curl_setopt($con, CURLOPT_HEADER, false); curl_setopt($con, CURLOPT_RETURNTRANSFER,true); curl_setopt($con, CURLOPT_TIMEOUT, (int)$timeout); return curl_exec($con); }
4. CURL を使用して POST を送信します。リクエスト
CURL が提供するオプションCURLOPT_POSTFIELDS を使用できます。このオプションを POST 文字列データに設定して、リクエストを本文に含めます。同様に、POST リクエストを送信する関数 doCurlPostRequest を実装しました。コードは次のとおりです。
/** ** @desc 封装 curl 的调用接口,post的请求方式 **/ function doCurlPostRequest($url,$requestString,$timeout = 5){ if($url == '' || $requestString == '' || $timeout <=0){ return false; } $con = curl_init((string)$url); curl_setopt($con, CURLOPT_HEADER, false); curl_setopt($con, CURLOPT_POSTFIELDS, $requestString); curl_setopt($con, CURLOPT_POST,true); curl_setopt($con, CURLOPT_RETURNTRANSFER,true); curl_setopt($con, CURLOPT_TIMEOUT,(int)$timeout); return curl_exec($con); }上記のコードで
CURLOPT_POSTFIELDS を設定することに加えて、
CURL_POST も設定します。 true に設定すると、このリクエストが POST リクエストとして識別されます。 GET データは POST リクエストでも送信でき、GET リクエスト データを URL に組み込むだけで済みます。
関連する学習の推奨事項:
以上がPHPでのcurlの使用法は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。