PHPからPOST送信する方法
PHPから他サーバのAPIに対してPOSTでリクエストしたかった。GETだったらAjaxを思い浮かべるけど、API側のサーバでGETリクエストが制限されていた為、その手段が取られなかった。以下にPHPでPOSTリクエストする方法のメモ。
■ソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
<?php //POSTで送りたいデータ $query = array( 'id' => 12345, 'pass' => 'sfmaKDMdfgd', 'name' => '名前' ); //URLエンコードされたクエリ文字列を生成 $content = http_build_query($query, '', '&'); //ヘッダ設定 $header = array( 'Content-Type: application/x-www-form-urlencoded', //form送信の際、クライアントがWebサーバーに送信するコンテンツタイプ 'Content-Length: '.strlen($content) //メッセージ本文の長さ ); //ストリームコンテキスト設定 $context = array( 'http' => array( 'ignore_errors' => true, //ステータスコードが失敗を意味する場合でもコンテンツを取得 'method' => 'POST', //メソッド。デフォルトはGET 'header' => implode("\r\n", $header), //ヘッダ設定 'content' => $content //送信したいデータ ) ); $url = 'http://hoge.com/hoge.api'; $res = file_get_contents($url, false, stream_context_create($context)); |
その他
file_get_contentsが有能すぎる。他にもcURLを使うといった選択肢もあるみたい。
関連記事
-
-
PHPのswitch文で比較演算子の使用
switch文は指定の変数が、特定の値もしくは文字列 だった場合のみに使うような ...
-
-
さくらvpsでPHPのエラーログ設定
PHPのエラーログを設定した際のメモ。 vi /etc/php.ini で設定フ ...
-
-
PHPで「Unable to allocate~」とエラー
PHPで「Unable to allocate memory for pool」 ...
-
-
pdfからjpg/jpegへ出来るだけ劣化させずに変換
やりたかった事はpdfからjpg画像への変換。 imagemagick使えばすぐ ...
-
-
独自タグを変換して画像を表示させる
やりたい事↓↓ ----- {$IMG1}~{$IMG5}までの独自タグがある。 ...
-
-
PHPでキーや値は保持したまま順番を入れ替える
PHPで連想配列のキーや値は保持したまま順番をランダムに入れ替えたかった。一発で ...
-
-
PHPのログイン認証をPEAR::Authで実装する
PHPのシステムである程度ちゃんとしたログインシステムが必要になった。今までログ ...
-
-
画像削除用function
ファイルパス、拡張子、seq番号、画像番号を渡してあげるだけ。 拡張子部分があれ ...
-
-
PHPで一括出力ではなく、ひとつずつ順次に出力する方法
PHPで重たい処理とかをしている際に、途中報告みたいな形で順次出力させる方法のメ ...
-
-
htmlspecialcharsを通してMySQLに格納したものを元に戻して出力
MySQLにHTMLタグを入れたくない場合にhtmlspecialcharsを使 ...