2017-02-23 31 views
2

私はCodeIgniterフレームワークでPHP5.3を使用し、TOAST - CodeIgniter Unit Testingライブラリも使用しています。PHP投稿リクエスト送信

コントローラをテストする必要があります。変数を渡すためにPOSTが必要です。私はcUrlとstream_context_createを試みましたが、どちらも失敗しました。 (カールが有効になっています)しかし、私は同じボディデータでPOSTMANを使用してそれを正常に実行できます。だから、受信機はうまく働く、私は送信者に問題がある。

curl_handle = curl_init(); 
curl_setopt($curl_handle, CURLOPT_URL, 'http://localhost:8080/myApp/index.php?/systemAdministration/runScheduledETL'); 
curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($curl_handle, CURLOPT_POST, 1); 
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, array('id' => $id)); 

$buffer = curl_exec($curl_handle); 
curl_close($curl_handle); 

はまた、私が試した:

url = 'http://localhost:8080/myApp/index.php?/systemAdministration/runScheduledETL'; 
$data = array('id' => $id); 

$options = array(
    'http' => array(
     'header' => "Content-type: application/x-www-form-urlencoded", 
     'method' => 'POST', 
     'content' => http_build_query($data) 
    ) 
); 
$context = stream_context_create($options); 
$result = file_get_contents($url, false, $context); 
+0

こちらもご覧ください。 – catbadger

答えて

0

をあなたはそれを診断するのが少し難しいですが、それはよくあなたの要求は(302または301ステータスコードをリダイレクトなっていることが考えられ取得しているエラーを知らなくても)。それはポストデータを落とすだろう。

私の.htaccessは、スラッシュで終わらないリクエストをリダイレクトするので、URLの最後にスラッシュを追加してみてください。

+0

応答のおかげで、追加されたスラッシュ文字はまだ送信できません。 – Duke

関連する問題