ホームページ バックエンド開発 PHPチュートリアル PHPのcurlパラメータの詳しい説明と使い方

PHPのcurlパラメータの詳しい説明と使い方

Jul 25, 2016 am 08:55 AM

  1. $cookie_jar = tempnam('./tmp','cookie');
  2. //login
  3. $c=curl_init('http://login_url?username=...
  4. curl_setopt ($c, CURLOPT_RETURNTRANSFER, 1);
  5. curl_setopt($c, CURLOPT_COOKIEJAR, $cookie_jar);
  6. curl_exec($c);
  7. curl_close($c);
  8. $c="url";
  9. $c=curl_init($ c);
  10. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  11. curl_setopt($c, CURLOPT_COOKIEFILE, $cookie_jar);
  12. curl_exec($c);
  13. curl_close($c);
  14. ?>
コードをコピー

2.投稿の使用 注: 投稿データは URL エンコードされている必要があります。

  1. $postdata="user=".urlencode($data);
  2. $c=curl_init($c);
  3. curl_setopt($c, CURLOPT_POST, 1);
  4. curl_setopt($ c, CURLOPT_POSTFIELDS, $postdata);
  5. curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
  6. curl_exec($c);
  7. curl_close($c);
  8. ?>
コードをコピー

CURLの詳しい説明 curl_close — CURL セッションを閉じる curl_copy_handle — Curl 接続リソースのすべての内容とパラメータをコピーする curl_errno — 現在のセッションのエラー情報を含む数値を返します。 curl_error — 現在のセッションのエラー情報を含む文字列を返します。 curl_exec — Curl セッションを実行する curl_getinfo — CURL 接続リソース ハンドルに関する情報を取得する curl_init — Curl セッションを初期化します

curl_multi_add_handle — 個々の Curl ハンドル リソースを Curl バッチ セッションに追加する curl_multi_close — バッチ ハンドル リソースを閉じる curl_multi_exec — Curl バッチ ハンドルを解析する curl_multi_getcontent — フェッチされた出力のテキスト ストリームを返す curl_multi_info_read — 現在解析されているcurlの関連する送信情報を取得します。 curl_multi_init — Curl バッチ ハンドル リソースを初期化する curl_multi_remove_handle — Curl バッチ ハンドル リソース内のハンドル リソースを削除する curl_multi_select — cURL 拡張子に関連付けられたすべてのソケットを取得し、「選択」できます。 curl_setopt_array — Curl のセッション パラメータを配列として設定する curl_setopt —curl のセッションパラメータを設定する curl_version — CURL 関連のバージョン情報を取得する curl_init() 関数の関数は、curl セッションを初期化します。curl_init() 関数の唯一のパラメータは、URL アドレスを表します。 curl_exec() 関数は、curl セッションの実行に使用されます。唯一のパラメータは、curl_init() 関数によって返されるハンドルです。 curl_close() 関数は、curl セッションを閉じるために使用されます。唯一のパラメータは、curl_init() 関数によって返されるハンドルです。

例:

  1. $ch =curl_init("http://bbs.it-home.org/");
  2. curl_exec($ch);
  3. curl_close($ch);
  4. ?>
コードをコピー

curl_version() 関数の機能: curl 関連のバージョン情報を取得します。curl_version() 関数にはパラメータがあります。

例:

  1. print_r(curl_version())
  2. ?>
コードをコピー

curl_getinfo() 関数の機能は、curl 接続リソース ハンドルの情報を取得することです。 () 関数には 2 つのパラメータがあります。最初のパラメータはcurlのリソースハンドルで、2番目のパラメータは次の定数です。

  1. $ch =curl_init("http://bbs.it-home.org/");
  2. print_r(curl_getinfo($ch));
  3. ?>
コピーコード

オプションの定数には以下が含まれます: CURLINFO_EFFECTIVE_URL 最後の有効な URL アドレス

CURLINFO_HTTP_CODE 最後に受信したHTTPコード

CURLINFO_FILETIME リモートからドキュメントを取得するまでの時間。取得できなかった場合の戻り値は「-1」です

CURLINFO_TOTAL_TIME 最後の転送にかかった時間

CURLINFO_NAMELOOKUP_TIME 名前解決に費やした時間

CURLINFO_CONNECT_TIME 接続の確立にかかる時間

CURLINFO_PRETRANSFER_TIME 接続確立から転送準備までにかかる時間

CURLINFO_STARTTRANSFER_TIME 接続確立から転送開始までの経過時間

CURLINFO_REDIRECT_TIME トランザクション転送が開始されるまでのリダイレクトに費やされた時間

CURLINFO_SIZE_UPLOAD アップロードされたデータの合計値

CURLINFO_SIZE_DOWNLOAD ダウンロードしたデータの合計値

CURLINFO_SPEED_DOWNLOAD 平均ダウンロード速度

CURLINFO_SPEED_UPLOAD 平均アップロード速度

CURLINFO_HEADER_SIZE ヘッダー部分のサイズ

CURLINFO_HEADER_OUT リクエストされた文字列を送信します

CURLINFO_REQUEST_SIZE HTTP リクエスト内の該当のリクエストのサイズ

CURLINFO_SSL_VERIFYRESULT CURLOPT_SSL_VERIFYPEER の設定によって要求された SSL 証明書検証の結果

CURLINFO_CONTENT_LENGTH_DOWNLOAD Content-Length: フィールドから読み取られたダウンロード コンテンツの長さ

CURLINFO_CONTENT_LENGTH_UPLOAD コンテンツのサイズをアップロードする手順

CURLINFO_CONTENT_TYPE ダウンロードされたコンテンツの「Content-Type」値、NULL は、サーバーが有効な「Content-Type: header」を送信しなかったことを意味します

curl_setopt() 関数は、curl のセッションパラメータを設定するために使用されます。 curl_setopt_array() 関数は、curl のセッション パラメータを配列形式で設定するために使用されます。

例:

  1. $ch =curl_init();
  2. $fp = fopen("example_homepage.txt", "w");
  3. curl_setopt($ch, CURLOPT_FILE, $fp);
  4. $options = array(
  5. CURLOPT_URL => 'http://bbs.it-home.org/',
  6. CURLOPT_HEADER => false
  7. );
  8. curl_setopt_array($ch, $options);
  9. curl_exec($ch);
  10. curl_close($ch);
  11. fclose($fp);
  12. ?>
コードをコピー

設定できるパラメータは次のとおりです。 CURLOPT_AUTOREFERER ヘッダーにリファラー情報を自動設定します

CURLOPT_BINARYTRANSFER CURLOPT_RETURTRANSFER が有効な場合、データが取得されて返されます

CURLOPT_COOKIESESSION 有効にすると、curl は 1 つのセッション Cookie のみを渡し、他の Cookie を無視します。デフォルトでは、curl はすべての Cookie をサーバーに返します。セッション Cookie は、サーバー側のセッションが有効かどうかを判断するために使用される Cookie を指します。

CURLOPT_CRLF 有効にすると、Unix 改行文字が復帰文字と改行文字に変換されます。

CURLOPT_DNS_USE_GLOBAL_CACHE

有効にすると、グローバル DNS キャッシュが有効になり、デフォルトは true になります。

CURLOPT_FAILONERROR

HTTP ステータス コードを表示します。デフォルトの動作では、400 以下の数値を持つ HTTP 情報を無視します

CURLOPT_FILETIME

有効にすると、リモートドキュメント内の情報の変更が試行されます。結果情報は、curl_getinfo() 関数の CURLINFO_FILETIME オプションを通じて返されます。

CURLOPT_FOLLOWLOCATION

有効にすると、サーバーから返される「Location:」がヘッダーに配置され、CURLOPT_MAXREDIRS を使用して再帰的な戻りの数を制限します。

CURLOPT_FORBID_REUSE

インタラクション完了後に強制的に切断され、再利用することはできません。

カールオプト_フレッシュ_コネクト

キャッシュ内の接続を置き換えるために新しい接続を強制的に取得します。

CURLOPT_FTP_USE_EPRT

アクティブな FTP ダウンロードを実行するときに EPRT (および LPRT) を使用する場合は TRUE。EPRT と LPRT を無効にして PORT のみを使用する場合は FALSE を使用します。

PHP 5.0.0.で追加されました

CURLOPT_FTP_USE_EPSV

PASV に戻す前に、まず FTP 転送の EPSV コマンドを試行する場合は TRUE。EPSV を無効にするには、FALSE に設定します。

CURLOPT_FTPAPPEND

リモート ファイルを上書きするのではなく追加する場合は TRUE。

CURLOPT_FTPASCII

CURLOPT_TRANSFERTEXT のエイリアスを代わりに使用してください。

CURLOPT_FTPLISTONLY

FTP ディレクトリの名前のみをリストする場合は TRUE。

CURLOPT_HEADER

有効にすると、ヘッダーファイル情報がデータストリームとして出力されます。

CURLOPT_HTTPGET

有効にすると、HTTP メソッドは GET に設定されます。GET がデフォルトであるため、変更された場合にのみ使用されます。

CURLOPT_HTTPPROXYTUNNEL

有効にすると、HTTP プロキシ経由で送信されます。

CURLOPT_MUTE

curl 関数内の変更されたパラメータをすべてデフォルト値に戻します。

CURLOPT_NETRC

接続が確立されたら、~/.netrc ファイルにアクセスして、リモート サイトに接続するためのユーザー名とパスワード情報を取得します。

CURLOPT_NOBODY

有効にすると、HTMLのボディ部分が出力されなくなります。

CURLOPT_NOPROGRESS

有効な場合、curl 転送の進行状況バーを閉じます。この項目のデフォルト設定は true です。

CURLOPT_NOSIGNAL

有効にすると、curl によって php に渡されるすべてのシグナルを無視します。この項目は、SAPI マルチスレッド送信時にデフォルトでオンになります。 カールプト_ポスト

有効にすると、フォーム送信と同様に、タイプ: application/x-www-form-urlencoded の通常の POST リクエストが送信されます。 カールプト_プット

有効にすると HTTP によるファイルの送信を許可します。CURLOPT_INFILE と CURLOPT_INFILESIZE を同時に設定する必要があります CURLOPT_RETURNTRANSFER

curl_exec() で取得した情報は、直接出力されるのではなく、ファイル ストリームの形式で返されます。 CURLOPT_SSL_VERIFYPEER

FALSE を指定すると、cURL によるピアの証明書の検証が停止されます。CURLOPT_CAINFO オプションを使用して検証する代替証明書を指定することも、CURLOPT_SSL_VERIFYPEER が無効になっている場合は、CURLOPT_SSL_VERIFYHOST を TRUE または FALSE にする必要がある場合もあります。 cURL 7.10 では、デフォルトで TRUE が設定されます。

以降、デフォルトのバンドルがインストールされます。

CURLOPT_TRANSFERTEXT

FTP 転送に ASCII モードを使用する場合は TRUE。Windows システムでは、HTML ではなくプレーン テキストでデータを取得します。

CURLOPT_UNRESTRICTED_AUTH

ドメイン名が変更された場合でも、CURLOPT_FOLLOWLOCATION を使用して生成されたヘッダー内の複数の場所にユーザー名とパスワードの情報を継続的に追加します。

CURLOPT_UPLOAD

有効にするとファイル転送を許可します

CURLOPT_VERBOSE

有効にすると、すべての情報が報告され、STDERR または指定された CURLOPT_STDERR に保存されます

CURLOPT_BUFFERSIZE

キャッシュのサイズはデータが取得されるたびに読み取られ、そのたびにこの値が埋められます。

CURLOPT_CLOSEPOLICY

他にも CURLCLOSEPOLICY_LEAST_RECENTLY_USED または CURLCLOSEPOLICY_OLDEST がありますが、curl はまだサポートしていません。 .

CURLOPT_CONNECTTIMEOUT

接続を開始するまでの待ち時間。0 に設定すると、待ち時間は発生しません。

CURLOPT_DNS_CACHE_TIMEOUT

DNS 情報をメモリに保存する時間を設定します。デフォルトは 120 秒です。

CURLOPT_FTPSSLAUTH

FTP 認証方法 (有効化された場合): CURLFTPAUTH_SSL (最初に SSL を試す)、CURLFTPAUTH_TLS (最初に TLS を試す)、または CURLFTPAUTH_DEFAULT (cURL に決定させる)。

CURLOPT_HTTP_VERSION

curl が使用する HTTP プロトコルを設定します、CURL_HTTP_VERSION_NONE (curl 自身に決定させます)、CURL_HTTP_VERSION_1_0 (HTTP/1.0)、CURL_HTTP_VERSION_1_1 (HTTP/1.1)

CURLOPT_HTTPAUTH 1 2 次のページ 最後のページ



このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 JSON Web Tokens(JWT)とPHP APIでのユースケースを説明してください。 Apr 05, 2025 am 12:04 AM

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 確固たる原則と、それらがPHP開発にどのように適用されるかを説明してください。 Apr 03, 2025 am 12:04 AM

PHP開発における固体原理の適用には、次のものが含まれます。1。単一責任原則(SRP):各クラスは1つの機能のみを担当します。 2。オープンおよびクローズ原理(OCP):変更は、変更ではなく拡張によって達成されます。 3。Lischの代替原則(LSP):サブクラスは、プログラムの精度に影響を与えることなく、基本クラスを置き換えることができます。 4。インターフェイス分離原理(ISP):依存関係や未使用の方法を避けるために、細粒インターフェイスを使用します。 5。依存関係の反転原理(DIP):高レベルのモジュールと低レベルのモジュールは抽象化に依存し、依存関係噴射を通じて実装されます。

PHPにおける後期静的結合の概念を説明します。 PHPにおける後期静的結合の概念を説明します。 Mar 21, 2025 pm 01:33 PM

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? PHPのCurlライブラリを使用してJSONデータを含むPOSTリクエストを送信する方法は? Apr 01, 2025 pm 03:12 PM

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。

フレームワークセキュリティ機能:脆弱性から保護します。 フレームワークセキュリティ機能:脆弱性から保護します。 Mar 28, 2025 pm 05:11 PM

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

システムの再起動後にUnixSocketの権限を自動的に設定する方法は? システムの再起動後にUnixSocketの権限を自動的に設定する方法は? Mar 31, 2025 pm 11:54 PM

システムが再起動した後、UnixSocketの権限を自動的に設定する方法。システムが再起動するたびに、UnixSocketの許可を変更するために次のコマンドを実行する必要があります:sudo ...

フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 フレームワークのカスタマイズ/拡張:カスタム機能を追加する方法。 Mar 28, 2025 pm 05:12 PM

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

See all articles