ホームページ  >  記事  >  バックエンド開発  >  予想される解決策:php がcurl_PHP を使用する場合の 100 続行のチュートリアル

予想される解決策:php がcurl_PHP を使用する場合の 100 続行のチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:05:01974ブラウズ

phpがcurlを使用する場合のExpect:100- continueの解決策

この記事では、主にphpがcurlを使用する場合のExpect:100- continueの解決策を紹介し、例を用いてExpect:100- continueの原理と解決策を分析します。必要な友達は参考値を参照してください

この記事の例では、PHP でカールを使用する場合の Expect:100-Continue の解決策について説明します。参考のためにみんなで共有してください。詳細は以下の通りです

curl POST データを使用する場合、POST データが 1024 バイトより大きい場合、curl は POST リクエストを直接開始しません。代わりに、2 つのステップで実行されます。

1. ヘッダーに Expect:100- continue を含むリクエストを送信し、サーバーにデータを受け入れるかどうかを尋ねます。
2. サーバーから返された 100-Continue 応答を受信した後、データをサーバーに POST します。

これは libcurl によって定義されています。詳細については、関連する説明を参照してください: http://www.w3.org/Protocols/rfc2616/rfc2616-sec8.html#sec8.2.3

そこで問題が発生します。すべてのサーバーが 100-Continue で応答するわけではありません。たとえば、lighttpd は「417 Expectation Fail」を返し、論理エラーが発生します。

解決策は次のとおりです: リクエストを送信するとき、ヘッダーには空の Expect が含まれます。

?

1

curl_setopt($ch, CURLOPT_HTTPHEADER, array("Expect:"));

この記事で説明した内容が皆様の PHP プログラミング設計に役立つことを願っています。

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/964001.html技術記事この記事では、PHP で Curl を使用する場合の Expect:100-Continue の解決策を主に紹介します。この記事では、PHP で Curl を使用する場合の Expect:100-Continue の解決策を主に紹介します。 ...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。