gotohayato.com

月(ダークモード)
太陽(ライトモード)

Drupal 7 で POST リクエストのデータが送信できない問題の解決方法

Drupal 7

問題

Drupal 7 の HTTP リクエスト用の関数 drupal_http_request() を使って POST リクエストをしようとしても POST データが送れない。

$result = drupal_http_request($url = 'http://example.com', $options = array(
'method' => 'POST',
'data' => 'aa=b',
));

原因

ヘッダが正しく設定されていないことが原因です。 methoddata だけでなく header の Content-Type を正しく設定する必要があります。

解決方法

以下のとおりに headers メンバを作って Content Type を渡せば OK です。

$result = drupal_http_request($url = 'http://example.com', $options = array(
'method' => 'POST',
'data' => 'aa=b',
'headers' => array(
'Content-Type' => 'application/x-www-form-urlencoded',
),
));

これが仕様なのかバグなのかハッキリとはわかりません。


後藤隼人 (ごとうはやと)

ウェブ制作・開発やマーケティング、プロジェクト支援などをしています。

GitHubPython

お知らせ

児童養護施設の「守山学園」さんが 2021/02/03 まで 建物改築のためのクラウドファンディング をされています。ご興味のある方はご覧になってみてください(後藤も少しだけ寄付させていただきました)。
© 2021 gotohayato.com
サイトについてタグアーカイブメッセージを送る