मैं दूरस्थ रिस्ट एंडपॉइंट पर JSON सामग्री पोस्ट करने का प्रयास कर रहा हूं, हालांकि 'सामग्री' मान डिलीवरी पर खाली प्रतीत होता है। अन्य सभी शीर्षलेख इत्यादि सही ढंग से प्राप्त किए जा रहे हैं, और वेब सेवा परीक्षण ब्राउज़र आधारित परीक्षण क्लाइंट के साथ सफलतापूर्वक परीक्षण करती है।PHP - फ़ाइल_get_contents के माध्यम से JSON पोस्ट करना
क्या मेरे वाक्यविन्यास के साथ कोई समस्या है जहां मैं 'सामग्री' फ़ील्ड निर्दिष्ट करता हूं?
$data = array("username" => "duser", "firstname" => "Demo", "surname" => "User", "email" => "[email protected]");
$data_string = json_encode($data);
$result = file_get_contents('http://test.com/api/user/create', null, stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => array('Content-Type: application/json'."\r\n"
. 'Authorization: username:key'."\r\n"
. 'Content-Length: ' . strlen($data_string) . "\r\n"),
'content' => $data_string)
)
));
echo $result;
धन्यवाद , यह बहुत अच्छा काम किया! – Ben
यदि कोई समस्या में चलता है कि पोस्ट-डेटा सही ढंग से एन्कोड नहीं किया गया है (शब्दकोश की प्रत्येक कुंजी शुरुआत में "amp;" है): तीसरी पंक्ति $ postdata = http_build_query ($ डेटा, ' ',' &'); – Philipp