PHPでは、Curlは非常に強力なライブラリであり、サーバー側でHTTP要求を開始し、データクローリング、API呼び出し、ファイルアップロードおよびダウンロードなどの機能を実装できます。そして
関数プロトタイプは次のとおりです。
<span><span>ブール</span></span><span> </span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(リソース</span><span><span>$ ch</span></span> <span>、</span> <span><span>int</span></span><span> </span><span><span>$オプション</span></span><span>、</span><span><span>ミックス</span></span><span> </span><span><span>$ value</span></span> <span>)
</span><ul><li><strong><span><span>$ ch</span></span><span></strong> : <span class="fun"><a href="/ja/php/curl_init .html" target="_blank">curl_init()</a></span>初期化によって得るされたCurlセッションハンドル。</li><li> <strong><span><span>$オプション</span></span><span></strong>: <span class="fun">curlopt_url</span> 、 <span class="fun">curlopt_returntransfer</span>など、設定するオプション定数。</li><li> <strong><span><span>$値</span></span><span></strong>:オプションに対応する値は、オプションに応じて、ブール値、整数、文字列、または配列です。</li></ul><p>リターン値はブール値であり、設定は<span class="fun">true</span>を戻るし、それ以外の場組み合わせるは<span class="fun">false</span>を戻るします。</p><h2> 2。一般的ななcurl_setoptオプション</h2><table border=</span> <span><span>"1"</span></span> <span>cellpadding =</span> <span><span>"5"</span></span> <span>></span><th>オプション</th><th>効果</th><th>例</th></tr><tr><td>curlopt_url</td><td>必要とするされたURLを設定します</td><td><span class="fun">curl_setopt($ ch、curlopt_url、 "https://api.example.com");</span></td></tr><tr><td> curlopt_returntransfer</td><td>リクエスト結果を直接外力する世代わりに文字列として戻るすかどうか</td><td><span class="fun">curl_setopt($ ch、curlopt_returntransfer、true);</span></td></tr><tr><td> curlopt_post</td><td> POSTメソッドを使用して必要とするするかどうか</td><td><span class="fun">curl_setopt($ ch、curlopt_post、true);</span></td></tr><tr><td> curlopt_postfields</td><td>必要とするされたデータを投稿します</td><td><span class="fun">curl_setopt($ ch、curlopt_postfields、http_build_query($ data));</span></td></tr><tr><td> curlopt_httpheader</td><td>カスタムHTTPヘッダー</td><td><span class="fun">curl_setopt($ ch、curlopt_httpheader、["content-type:application/json"]);</span></td></tr><tr><td> curlopt_timeout</td><td>リクエストタイムアウト時間(2番)を設定する</td><td><span class="fun">curl_setopt($ ch、curlopt_timeout、10);</span></td></tr></table><h2> 3。curl_setoptの柔らかいな使用のためのヒント</h2><ol><li><strong>オプション配列を動的にビルドする:</strong>最初にオプション配列を作成してから、ループを間して設定できるため、コードはより簡単になります。</li><pre>
<span><span>$ options</span></span> <span>= [
curlopt_url =></span> <span><span>"https://api.example.com"</span></span> <span>、
curlopt_returntransfer =></span> <span><span>true</span></span> <span>、
curlopt_timeout =></span> <span><span>15</span></span><span>
];
</span><span><span>$ ch</span></span> <span>=</span> <span><span class="function_ invoke__">curl_init</span></span> <span>();
</span><span><span>foreach</span></span> <span>(</span> <span><span>$ options</span></span><span> </span><span><span>として</span></span><span> </span><span><span>$ key</span></span> <span>=></span> <span><span>$ value</span></span> <span>){
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>、</span> <span><span>$ key</span></span> <span>、</span> <span><span>$ value</span></span> <span>);
}
</span><span><span>$ response</span></span> <span>=</span> <span><span class="function_ invoke__">curl_exec</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><span><span class="function_ invoke__">curl_close</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><li><strong>[リクエストタイプに従って設定]を選択します。GET</strong>リクエストは一般的に、URLと戻る信値を設定する必要のみで、POSTリクエストはポストフィールドとヘッダーを設定する必要があります。</li><li><strong>エラー処理:</strong> curl_execが失敗する可能性があり、 <span class="fun"><a href="/ja/php/curl_errno .html" target="_blank">curl_errno</a></span>と<span class="fun"><a href="/ja/php/curl_error .html" target="_blank">curl_error</a></span>を使用してエラー情報を得るする必要があります。</li><pre>
<span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">curl_errno</span></span> <span>(</span> <span><span>$ ch</span></span> <span>)){
</span><span><span>エコー</span></span><span> </span><span><span>「カールエラー:」</span></span> <span>。</span> <span><span class="function_ invoke__">curl_error</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
}
</span><li><strong>HTTPSリクエストの処理:</strong>ターゲットがHTTPSの場組み合わせる、 <span class="fun">Curlopt_ssl_verifypeer</span>および<span class="fun">curlopt_ssl_verifyhost</span>によって制御される証明書確認(テスト環境)をオフにする必要があります。</li></ol><h2> 4。実用的な例:APIを電話び外してデータを得るします</h2><pre>
<span><span>$ ch</span></span> <span>=</span> <span><span class="function_ invoke__">curl_init</span></span> <span>();
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>、curlopt_url、</span> <span><span>"https://jsonplaceholder.typicode.com/posts/1"</span></span> <span>);
</span><span><span class="function_ invoke__">curl_setopt</span></span> <span>(</span> <span><span>$ ch</span></span> <span>、curlopt_returntransfer、</span> <span><span>true</span></span> <span>);
</span><span><span>$ response</span></span> <span>=</span> <span><span class="function_ invoke__">curl_exec</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><span><span>if</span></span> <span>(</span> <span><span class="function_ invoke__">curl_errno</span></span> <span>(</span> <span><span>$ ch</span></span> <span>)){
</span><span><span>エコー</span></span><span> </span><span><span>「リクエストが失敗しました:」</span></span> <span>。</span> <span><span class="function_ invoke__">curl_error</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
}</span><span><span>それ以外</span></span><span>{
</span><span><span>$ data</span></span> <span>=</span> <span><span class="function_ invoke__">json_decode</span></span> <span>(</span> <span><span>$ response</span></span> <span>、</span> <span><span>true</span></span> <span>);
</span><span><span>エコー</span></span><span> </span><span><span>"タイトル:"</span></span> <span>。</span> <span><span>$ data</span></span> <span>[</span> <span><span>'title'</span></span> <span>]。</span> <span><span>"\ n"</span></span> <span>;
</span><span><span>エコー</span></span><span> </span><span><span>"コンテンツ:"</span></span> <span>。</span> <span><span>$ data</span></span> <span>[</span> <span><span>'body'</span></span> <span>]。</span> <span><span>"\ n"</span></span> <span>;
}
</span><span><span class="function_ invoke__">curl_close</span></span> <span>(</span> <span><span>$ ch</span></span> <span>);
</span><p>上記の例を使用すると、基本なGETリクエストから複雑な投稿またはカスタムヘッダーを使用したリクエストまで、 <span class="fun">Curl_Setopt</span>の柔らかい性を確認できます。これにより、リクエストアクションを正しいに制御できます。</p><h2> 5。概要</h2><p><span class="fun">curl_setopt</span>の使用を習得することは、PHPネットワークプログラミングの重要なスキルです。それぞれオプションの役割を理解するし、実際のシナリオに従って柔らかいにグループみ組み合わせるわせると、さまざまなHTTP必要とする操作を効率的かつ安全性に実装できます。さまざまな種類のリクエストを頻繁に練習することにより、CURL構成の感度と習熟度をxu々に確立することをお勧めします。</p> <span><span><?php</span></span><span>
</span><span><span>//二流のコンテンツは、記事のメインテキストとは何の関係もありません。また、エンディングプレースホルダーとしてのみ使用されます。</span></span><span>
</span><span><span>エコー</span></span><span> </span><span><span>「記事は終わりわり、読んでくれてありがとう!\ n」</span></span> <span>;</span> <span><span>?></span></span><span>
</span></span></div></div>