2016-06-20 8 views
0

私はPHPで動作するアプリケーションを持っています。今、私は、JSONデータを含むJava上で動作するサーバーにAPIリクエスト(POSTメソッド)を送信する必要があるという要件を得ました。 PHPのcurlメソッドを使用しようとしましたが、要求を送信できませんでした。私は同じコードを以下に試してみました。PHPからJavaへのJSONデータを使用してPOSTリクエストを行う方法は?

$data = array("user_id"=>"6cdedfcc-ff55-449f-8362-af3ae0e04928"); 
$data_string = json_encode($data);                    

$ch = curl_init('https://java-api-url/api');                  
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                  
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json',                     
    'Content-Length: ' . strlen($data_string))                  
);                             

$result = curl_exec($ch); 
print_r($result); 
+2

「リクエストを送信できません」とはどういう意味ですか? POSTリクエストを送信した後、どのような応答が表示されますか? –

+0

実際、ステータスコードでエラーをチェックしたとき、問題はSSL証明書(https)に起因することがわかりました。コードは期待どおりに機能していました。今、問題は修正されました。あなたのお時間をありがとうございました –

答えて

0
$data = NULL; 

$data['user_id'] = "6cdedfcc-ff55-449f-8362-af3ae0e04928"; 

$data_string = json_encode($data);                    

$ch = curl_init(); 
curl_setopt($ch,CURLOPT_URL,'https://java-api-url/api');              
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                  
curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string);                 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                   
    'Content-Type: application/json',                     
    'Content-Length: ' . strlen($data_string))                  
);                             

$result = curl_exec($ch); 



print_r($result); 
+0

あなたの提案に感謝します。 –

1

多分あなたは、この試すことができます:

ますcurl_setopt($ chを、CURLOPT_POST、1);代わりの

ますcurl_setopt($ chを、CURLOPT_CUSTOMREQUEST、 "POST");

+0

あなたの提案に感謝します。 –

関連する問題