2016-10-12 2 views
1

私は以前のプログラマーが行ったレガシーシステムで作業しています。
ここに残したテストはありますが、pythonを使って彼のテストを真似る方法がわかりません。私のバックグラウンドはiOS, Android, Java, Python, Django, C/C++, PLSQL, SQLですが、すべてのPHP Postと同等のPython

で何のPHPは、ここで私はこれを試してみましたtest.php

var tHost = "10.1.10.123"; 
var tExiname = "CloudHM TEST123"; 
var tIncname = "INC"; 
var tHWname = "aa 1111 0"; 
var tHwattr = "all"; 
var tStatus = 0; 
var tCteatedat = "2016-05-23 12:20:42"; 
var d = new Date, 
tUpdateat = [d.getFullYear(), 
      d.getMonth()+1, 
      d.getDate()].join('-')+' '+ 
      [d.getHours(), 
      d.getMinutes(), 
      d.getSeconds()].join(':'); 
var arr = [{ host: tHost, host_name: tExiname, component_type: tHWname, component_status: tStatus, incident_created: tUpdateat }]; 
var arr2 =JSON.stringify(arr) 
$.ajax({ 
    url: 'http://customer.beenets.net/api/cloudhm/api.php' , 
    type: 'POST', 
    data: { params: arr2 }, 
    success: function(msg) { 
     //ShowOutput(msg); 
     alert(JSON.stringify(arr, null, 4)); 
    } 
}) 

ではありません。レスポンスは200ですが、PHP serverにはペイロード

notification_data = [{ 
      "host": i.host, 
      "host_name": i.host_name, 
      "incident_created": i.incident_created, 
      "component_type": i.component_type, 
      "component_status": i.component_status 
     }] 
     response = requests.post(NOC_BEENETS_URL, data=json.dumps(notification_data)) 

を読まないそれから私は、サーバーが私に200を返し、再び

任意の助けを一切ペイロードを読まない

notification_data = [{ 
    "params":{ 
     "host": i.host, 
     "host_name": i.host_name, 
     "incident_created": i.incident_created, 
     "component_type": i.component_type, 
     "component_status": i.component_status 
    } 
}] 
response = requests.post(NOC_BEENETS_URL, data=json.dumps(notification_data)) 

その前に置かparamsキーをしようとするだろうありがとうございます
お礼
Sarit

+1

あなたがJavaScriptコードではなく、PHPのコードを持ってtest.php' 'に - 私はあなたが'データ= { "のparams" が必要だと思うので、あなたがそれを実行するためにPHPを必要としません:) – furas

+1

:json.dumps(...)} ' – furas

+0

@furasもう一度ください。これはリモート編集 – Sarit

答えて

2

編集:

notification_data = [{ 
     "host": i.host, 
     "host_name": i.host_name, 
     "incident_created": i.incident_created, 
     "component_type": i.component_type, 
     "component_status": i.component_status 
    }] 
r = requests.post(NOC_BEENETS_URL, data = {'params': json.dumps(notification_data)}) 
+0

一瞬私は遠隔編集をしなければならない – Sarit

+0

動作しません。それは私に「200」と反応します。私はここにペイロードを持っていることを確認するにはpdb' 'である(PDB)response.content 「{ "response_data":{ "ホスト": "10.0.34.1"、 "component_status": "0"、 "HOST_NAME": "LMD718" 、 "component_type": "server"、 "incident_created": "2016-10-03 17:59:45"}、 "response_datetime": "2016-10-12 16:18:18"} ' – Sarit

+1

これを試してくださいコード? –