0

PHP を使用して curl 呼び出しを実行しようとしています。私のプロジェクトにはこのような流れがあります

  • ユーザーをサーバーにリダイレクトします。
  • ユーザーがサービスを使用すると、サーバーはユーザーをアプリケーションのページにリダイレクトします。
  • 特定の詳細を確認するために、この時点でサーバー間呼び出しを行いたいと思います。

注意点 - JSON データを投稿するだけでなく、JSON データを応答として受信します。

私はこれを試しました。データを送信できますが、応答がありません。

これは正しいです?助けてください!

$data = array("One" => "Onedata", "Two" => "Twodata");                                                                    
$JsonData = json_encode($data);
$ch = curl_init('https://exampleurl');                                                                      
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");                                                                     
curl_setopt($ch, CURLOPT_POSTFIELDS, $JsonData);                                                                  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);                                                                      
curl_setopt($ch, CURLOPT_HTTPHEADER, array(                                                                          
'Content-Type: application/json',  
'Content-Length: ' . strlen($JsonData))                                                                       
);                                                                                                                   

$result = curl_exec($ch);
4

2 に答える 2

0

コメントで言及したように:

問題は、ホストの SSL 検証にあります。SSL を正しく設定するには多少の手間がかかります ( http://unitstep.net/blog/2009/05/05/using-curl-in-php-to-access-https-ssltls-protected-sites/を参照)。回避策として、次の 2 つのオプションを追加します。

curl_setopt ($ch, CURLOPT_SSL_VERIFYHOST, 0); 
curl_setopt ($ch, CURLOPT_SSL_VERIFYPEER, 0);
于 2015-04-25T11:26:28.390 に答える
0

私のために働く以下のコードを使用してみてください。json_url が正しいことを確認してください。ブラウザで実行すると、出力が得られるはずです。CURL を使用して試す前に、ブラウザーで実行して、必要な出力が得られるかどうかを確認してください。

$json_url  ='https://exampleurl';

// Initializing curl
$ch = curl_init( $json_url );

// Configuring curl options
$options = array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => array('Content-type: application/json') 
);

// Setting curl options
curl_setopt_array( $ch, $options );

// Getting results
$results =  curl_exec($ch); // Getting jSON result string

$json_decoded = json_decode($results);
于 2013-02-07T06:15:14.170 に答える