ホームページ  >  記事  >  バックエンド開発  >  PHPカールライブラリの使い方の紹介

PHPカールライブラリの使い方の紹介

WBOY
WBOYオリジナル
2016-07-25 08:53:31789ブラウズ
この記事では、PHP での CURL ライブラリの使用法を紹介します。PHP での CURL ライブラリには主に 2 つのリクエストがあり、どちらも非常に複雑です。

PHP CURL ライブラリには主に 2 つのリクエストと Guzzle があり、どちらも非常に複雑です。 リクエストでは最初にcurlが使用されます。curlがない場合、トランスポートを手動で指定しない限り、fsocketsは自動的に有効になります。 Guzzle は豊富なログ ライブラリのサポートとログ形式を備えており、コードの観点からは、プラグイン サブスクリプションを使用しており、高品質です。 これは、curl (少なくとも v3 バージョンのみ) のみをサポートし、reactphp によって依存される symfony のイベントエミッターに依存します。 最近 (2014 年 3 月 28 日)、v3.8.1 から v4.0.0rc にアップグレードされたことがわかりました。実際には名前空間が変更され、最初の 2 つの段落が 1 つの段落に減り、トップレベルのガズルも削除されました。ソース コード ディレクトリには意味がなく、上位互換性がなく、他の一般的な PHP ライブラリと一貫性がありません。 ここが重要なポイントです。Guzzle は通常は問題なく動作しますが、昨日問題が発生し、支払い結果を確認するために Alipay にアクセスする必要がありました。この URL を呼び出すと、guzzle は成功しませんが、リクエストは成功します。 curl コマンドに関しては、connect-timeout と timeout-max (通常、後者はプログラム内でタイムアウトと呼ばれます) の 2 つのタイムアウトがあり、後者には前者が含まれます。curl のデフォルトの connect-timeout は 300 秒です。 timeout- が指定されています。max は値を設定しますが、タイムアウトを設定しない場合は、それが含まれるため、少なくとも 300 秒になります。

PHPのfsocketsの場合、php.iniにdefault_socket_timeoutという設定項目があるため、デフォルト値は60秒のみです。 さらに、curl はデフォルトでは http リダイレクトをサポートしておらず、-l オプション (パラメータなし) を渡す必要があります。ただし、PHP と Python の使用経験によると、少なくとも Guzzle ドキュメントでは明らかにリダイレクトが有効になっています。必要な場合は手動で閉じる必要があると表示されます。 に従って: curl のデフォルトの接続タイムアウトは 300 秒です https://github.com/bagder/curl/blob/master/lib/connect.h 3.8 http リダイレクトに従うようにcurlに指示するにはどうすればよいですか? http://curl.haxx.se/docs/faq.html



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