Я хочу сделать POST-вызов из PHP в свой API Python
вот эквивалент в Python:
import requests
import json
payload = json.dumps({'serviceID':'131001086184'})
r = requests.post('http://17.../todo/api/line/v1.0/tasks', data=dict(data=payload))
print r.content
Работает как шарм.
Здесь эквивалент в curl:
curl -i -F data='{"serviceID":"131001086184"}' http://17.../todo/api/line/v1.0/tasks
Тоже работает.
Теперь PHP:
<?php
$url = 'http://17.../todo/api/line/v1.0/tasks';
$postData = array('serviceID' => '131001086184');
$context = stream_context_create(array(
'http' => array(
'method' => 'POST',
'header' => "Content-Type: application/json\r\n"
'content' => json_encode($postData)
)
));
$response = file_get_contents($url. FALSE. &context)
$responseData = json_decode($response, TRUE);
echo $responseData['published'];
?>
Не работает, и я не получаю сообщения об ошибке. Что мне не хватает?
Это твой настоящий код? Если это так, то в вашем file_get_contents() допущена опечатка, вы объединяете переменные вместо того, чтобы отправлять 3 параметра; вам нужны запятые.






В вашем коде $response = file_get_contents($url. FALSE. &context)
Вы объединяете $ url с FALSE и & context,
Используйте следующее:-
$response = file_get_contents($url, FALSE, &context);
это не меняет результата
var_dump($response); exit;Что это дает?