2016-10-12 13 views
1

Ich arbeite mit Legacy-System der vorherige Programmierer war weg.
Hier ist der Test, den er verließ und ich habe keine Ahnung, wie man seinen Test mit python imitiert. Mein Hintergrund ist iOS, Android, Java, Python, Django, C/C++, PLSQL, SQL aber keine PHP an allenPython entspricht PHP Beitrag

Hier ist 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)); 
    } 
}) 

ich das versucht hatte. Antwort ist 200, aber PHP server lesen keine Nutzlast

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)) 

dann versuche ich params Schlüssel vor ihm setzen

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)) 

Server zurückgeben mich 200 und wieder keine Nutzlast lesen

Jede mögliche Hilfe geschätzt
Mit freundlichen Grüßen
Sarit

+1

in 'test.php' Sie JavaScript-Code haben, nicht PHP-Code - so dass Sie nicht PHP es ausführen müssen :) – furas

+1

Ich glaube, Sie brauchen' data = { "params" : json.dumps (...)} ' – furas

+0

@furas Gib mir eine Sekunde. Es ist Remote-Bearbeitung – Sarit

Antwort

2

Editiert:

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

Einen Moment muss ich Remote-Bearbeitung tun – Sarit

+0

Funktioniert nicht. Und es antwortet mir '200'. Um zu bestätigen, dass ich Payload hier habe, ist 'pdb' (Pdb) response.content '{" response_data ": {" host ":" 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

Könnten Sie das versuchen? Code? –