[解決済み] PHP の cURL は、一度のリクエストでレスポンスヘッダーとボディーの両方を取得できますか?
2022-03-14 03:20:53
質問
PHPを使用して、cURLリクエストのヘッダーとボディの両方を取得する方法はありますか?私はこのオプションを見つけました。
curl_setopt($ch, CURLOPT_HEADER, true);
が返されることになります。 本文とヘッダー しかし、ボディを取得するためにパースする必要があります。もっと使いやすい(そして安全な)方法で両方を取得する方法はないでしょうか?
なお、quot;single request"とは、GET/POSTの前にHEADリクエストを発行しないようにすることを意味します。
解決方法は?
この解決策の一つが、PHPドキュメントのコメント欄に投稿されていました。 http://www.php.net/manual/en/function.curl-exec.php#80442
コード例です。
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
// ...
$response = curl_exec($ch);
// Then, after your curl_exec call:
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
警告 以下のコメントで指摘されているように、プロキシサーバで使用する場合や、ある種のリダイレクトを処理する場合には信頼できない可能性があります。Geoffrey の回答の方がより確実に処理できるかもしれません。
関連
-
[解決済み】「初期通信パケットの読み込み」でMySQLサーバーに接続できなくなり、システムエラーになる。0
-
[解決済み】PHP 7.2 - Warning: count(): パラメータは配列かCountableを実装したオブジェクトでなければならない [解決済み]
-
[解決済み】foreach()に与えられた引数が無効です。)
-
[解決済み】未定義のメソッド mysqli_stmt::get_result を呼び出す。
-
[解決済み】警告:mysql_fetch_array()はパラメータ1がリソースであることを期待、ブール値は[重複]で与えられる]
-
[解決済み】mysqli_select_db()は、パラメータ1がmysqliであることを期待し、文字列が与えられる。
-
[解決済み] PHP product.php?id=1 のような URL を作成する方法
-
[解決済み] URLクエリパラメータを含むHTTP POST -- 良いアイデアかどうか?
-
[解決済み] PHP cURL カスタムヘッダ
-
[解決済み】cURLを使用して、リクエストとレスポンスタイムを一度に測定する方法は?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】XAMPPポート80をPID 4の「Unable to open process」が使用中 [重複] XAMPPポート80をPID 4の「Unable to open process」が使用中。]
-
[解決済み】PHPで空の値からデフォルトオブジェクトを作成する?
-
[解決済み】++と*+の意味は何ですか?
-
[解決済み】Phpのincludeが機能しない? 関数がincludeされない
-
[解決済み】SSLピア証明書またはSSHリモートキーがOKでなかった
-
[解決済み】chromeの「net : Failed to load resource: net::ERR_SPDY_PROTOCOL_ERROR" は何がおかしいのか?
-
[解決済み】Fatal error: mysqli_result 型のオブジェクトは使用できません [終了] 。
-
[解決済み】mysqli::query(): mysqli をフェッチできない
-
[解決済み】警告: file_get_contents(): https:// ラッパーがサーバー構成ですべて無効になっています。
-
[解決済み] Forbidden :このサーバーの /phpmyadmin にアクセスする権限がありません。