2017-04-06 11 views
-1

VMWareワークステーションに2台の仮想マシンがインストールされていて、それぞれが異なるIPアドレスを持っています。ある仮想マシンから別の仮想マシンにJSON配列を送信したい。私はPHP cURLライブラリを使用してデータを送信しており、this tutorialに続いています。以下は私のコードスニペットです。この質問のために、AAA.BBB.CCC.DDDがJSONデータを送信する宛先ホストのIPアドレスであるとしましょう。PHP cURLを使用してマシン間でJSONアレイを送信する - 宛先IPアドレスから宛先URLを作成する方法

  1. 私が知っているすべては、宛先ホストのIPアドレスです:

    私は2つの質問があります。その宛先コンピュータにはXAMPPローカルサーバーがあります。今、目的地のURLをどうやって構築するのですか?下のスニペットの最初の行を見てください。URLを正しく構成していますか?

2.このスクリプトをローカルホストで実行し、Wiresharkを実行すると、3つのパケットが特定の宛先IPアドレスに送信されたように見えます。しかし、ターゲットマシンで特定のJSONデータを受け取る方法がわかりません。それは誰かがそれのためのチュートリアルに私を指すことができる、または私にヒントを与えることは素晴らしいだろうか?

<?php 
$url = "http://AAA.BBB.CCC.DDD"; // AAA.BBB.CCC.DDD is replaced by the IP address of destination host. 
    //Initiate cURL. 
$ch = curl_init($url); 

//The JSON data. 
$jsonData = array(
    'name' => 'Jeremy', 
); 

//Encode the array into JSON. 
$jsonDataEncoded = json_encode($jsonData); 

//Tell cURL that we want to send a POST request. 
curl_setopt($ch, CURLOPT_POST, 1); 

//Attach our encoded JSON string to the POST fields. 
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonDataEncoded); 

//Set the content type to application/json 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json')); 

//Execute the request 
$result = curl_exec($ch); 
+1

http://php.net/manual/en/function.gethostbyaddr.php –

答えて

1

私の簡単なテスト例:

<?php 
$url = 'http://localhost/curl-req.php'; 
$data = array("name" => "Heniek", "age" => "125", "rozmiar" => "M"); 
$data = json_encode($data);                     
// Send post data Json format 
echo CurlSendPostJson($url,$data); 
// send curl post           
function CurlSendPostJson($url='http://localhost/curl-req.php',$datajson){ 
    $ch = curl_init($url); 
    curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, $datajson); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json','Content-Length: ' . strlen($datajson))); 
    //curl_setopt($ch,CURLOPT_HEADER, true); //if you want headers 
    return $result = curl_exec($ch); 
} 
?> 

<?php 
// save belove to: curl-req.php 
// GET JSON CONTENT FROM CURL 
$jsonStr = file_get_contents("php://input"); //read the HTTP body. 
//echo $json = json_decode($jsonStr); 
if (!empty($jsonStr)) { 
    echo $jsonStr; 
} 
// POST DATA FROM CURL 
if (empty($jsonStr)) { 
    echo serialize($_POST); 
} 
// GET DATA FROM CURL 
if (!empty($_GET)) { 
    echo serialize($_GET); 
} 
?> 
+0

'ます。http:// localhost /をカールreq.php'です自分のローカルサーバーの宛先。 2つの異なるマシン間でJSONデータを送信する必要があります。 – Sie

+1

あなたが男性を望むようにURLを変更する!!!! –

+1

あなたは単に変更のURLをコピーする必要があるというのは簡単な質問です。長い間、あなたはURLを変更するよりも私にメッセージを書いています。 –

関連する問題