Ich versuche, JSON-Text mit POST-Anfrage mit cURL zu senden. Der JSON Text ist:Sende JSON über PHP POST (cURL)
{ "Kanal": "Mein Kanal", "username": "TriiNoxYs", "text": "Mein Text"}
Ich verwende diese Code:
<?php
$data = array(
'username' => 'TriiNoxYs',
'channel' => 'My channel'
'text' => 'My text',
);
$data_json = json_encode($data);
$curl = curl_init('my-url');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_json);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Content-Length: ' . strlen($data_json))
);
$result = curl_exec($curl);
echo $result ;
?>
Der Code funktioniert, aber ich möchte eine "Anhänge" Array in meinem JSON Text hinzuzufügen, wie folgt aus:
{ "Kanal": „Mein chann el "," Benutzername ":" TriiNoxYs "," Text ":" Mein Text "," Anhänge ": [{" text ":" Zeile 1 "," color ":" # 000000 "}, {" text ": "Leitung 2", "Farbe": "# ffffff"}]}
Also habe ich versucht, diese Daten zu meinem $ Array hinzuzufügen:
'attachments' => '[{"text":"Line 1", "color":"#000000"}, {"text":"Line 2", "color":"#ffffff"}]',
aber nicht funktioniert, die Post gesendet wird, aber meine „Anhänge“ wird ignoriert ... ich auch mit diesem Code direkt von einem Linux-Terminal versucht POST zu senden:
POST https://myurl.com
payload={"channel": "My channel", "username": "TriiNoxYs", "text": "My text", "attachments": [{"text":"Line 1","color":"#000000"},{"text":"Line 2","color":"#ffffff"}]}
Und es funktioniert ... Ich verstehe einfach nicht, warum es mit manuellem POST und nicht mit php/curl arbeitet ...
Danke für Ihre Antworten, TriiNoxYs. PS: Sorry für mein schlechtes Englisch, ich bin Französisch ...
Ich bin zu faul, um die Regeln zu überprüfen um zu sehen, ob ich auf Französisch antworten kann oder nicht, also bleibe ich jetzt auf Englisch. Was meinst du damit, dass die "Attachments" -Daten ignoriert werden? Meinst du das sie sie nicht in $ _POST existieren? Oder sind sie leer? – Technoh
Wie kann ich es überprüfen? – TriiNoxYs
Sie könnten den kompletten '$ _POST' auf der Empfängerseite' var_dump' machen, um die genaue JSON-Zeichenfolge zu sehen. – Technoh