JSONデータをURLに送信するスクリプトを作成しました
$data = array();
$key = 'mysecretkey';
$string = 'teststring';
$data['date'] = '2013-06-19 05:38:00';
$data['encrypted_string'] = mcrypt_encode($string,$key);
$data['id'] = 231;
$data['source_ref'] = 'testreference';
$data['status'] = 'Active';
header('Content-type: text/json');
header('Content-type: application/json');
$url = 'http://localhost/myproject/test/add_json_data';
$json_string = json_encode($data);
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, 1);
curl_setopt( $ch, CURLOPT_POSTFIELDS,$json_string);
curl_setopt( $ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt( $ch, CURLOPT_HEADER, 0);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec( $ch );
mcrypt_encode
文字列をエンコードします。ここにjson_stringがあります
{
"date": "2013-06-19 05:38:00",
"encrypted_string": "7Y4jqgIfhj25ghsF8yJ/qTtzXafTtIlwsz7xWIDVWJGoF22X2JbfSWfQtgmI1dYyyJDgs3nmaWctTEgKW5VmHw==",
"id": 231,
"source_ref": "testreference",
"status": "Active"
}
スクリプトを実行しても、指定した URL では何も起こりません。
これが私がURLでやっていることです。
function add_json_data()
{
$json = file_get_contents('php://input');
$obj = json_decode($json);
$this->load->helper('file');
write_file('json.json',$json);
}
私はcodeigniterを使用しているので、投稿データをjson形式のファイルに保存して、何が来るかを確認しています。しかし、URLが呼び出されていないことがわかります。エンコードされた文字列を含むエンコードされたjson文字列が原因で、データをurlに送信していないと思います。エンコードされたキーを URL に送信するにはどうすればよいですか。encrypted_string
また、何か「テスト」に置き換えるかどうかも確認しましたが、正常に動作しています。URLまたは代替手段にデータを送信するにはどうすればよいですか? 助けてください。