我想从PHP到我的python API进行POST调用
这是 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 -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/jsonrn"
'content' => json_encode($postData)
)
));
$response = file_get_contents($url. FALSE. &context)
$responseData = json_decode($response, TRUE);
echo $responseData['published'];
?>
不起作用,我没有收到错误消息。 我错过了什么?
在你的代码$response = file_get_contents($url. FALSE. &context)
您正在将$url与 FALSE 和 &context 连接起来,
使用以下方法:-
$response = file_get_contents($url, FALSE, &context);