web-dev-qa-db-ja.com

CodeIgniterがPOSTデータを特定のURLに送信-APIデータ

データをURLに送信する必要があります。これは、以前にメソッドGETurl_encode()を使用して行ったことがあります。

フレームワークCodeIgniterでPOSTする必要があるので、何を使用すればよいかよくわかりません。

どんな助けでもありがたいです

9
Sanjeev

わかりました。今後ソリューションを検索するための時間の経過を避けるための回答を投稿します

ターゲット:POSTデータを特定のURL、つまりAPIに送信

フレームワーク:Codeigniter

解決策:

渡す必要のあるデータが名前、電子メール、パスワードの配列であるとしましょう

$params= array(
           "name" => $_name,
           "email" => $_email,
           "password" => $_pass
        );
$url = '192.168.100.51/AndroidApi/v2/register';

echo '<br><hr><h2>'.$this->postCURL($url, $params).'</h2><br><hr><br>';

POSTを介してURLにデータを送信する関数:はい、ここではcURLを使用します

public function postCURL($_url, $_param){

        $postData = '';
        //create name value pairs seperated by &
        foreach($_param as $k => $v) 
        { 
          $postData .= $k . '='.$v.'&'; 
        }
        rtrim($postData, '&');


        $ch = curl_init();
        curl_setopt($ch, CURLOPT_URL,$_url);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
        curl_setopt($ch, CURLOPT_HEADER, false); 
        curl_setopt($ch, CURLOPT_POST, count($postData));
        curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);    

        $output=curl_exec($ch);

        curl_close($ch);

        return $output;
    }

CURLが使用可能かどうかをテストするには

echo (is_callable('curl_init')) ? '<h1>Enabled</h1>' : '<h1>Not enabled</h1>' ;

おかげで、それは出力として非常にうまく機能しています

失敗:

{"error":true、 "message": "メールアドレスが無効です"}

または成功:

{"エラー":false、 "メッセージ": "正常に登録されました"}

13
Sanjeev