发布请求以获取php中的json数据

时间:2014-09-03 11:01:09

标签: php http-post

我正在尝试在php中发布一个post请求到url,它将json数据作为字符串返回。 我的代码是:

$url = "http://mysite.xxx/getjson/";
$method = 'POST';
$request = array(
    'http' => array(
        'header'    => "Content-type: application/html\r\nAccept: */*\r\n",
        'method'    => 'POST',
        'content'   => http_build_query($params)
    ),
);
$context = stream_context_create($request);
$json = file_get_contents($url, false, $context);
echo $json;

我一无所获 我已经检查了url中的代码,我认为post参数没有被传递。 任何人都可以帮助我。 谢谢!

3 个答案:

答案 0 :(得分:0)

将此作为您的内容类型:

application/x-www-form-urlencoded

答案 1 :(得分:0)

尝试使用cURL

$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL            => "http://mysite.xxx/getjson/",
    CURLOPT_POST           => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => $params,
    CURLOPT_HTTPHEADER, array(
        'Accept: application/json'
   )
);

curl_setopt_array($ch, $curlConfig);

$result     = json_decode(curl_exec($ch));

curl_close($ch);

print_r(result);

答案 2 :(得分:0)

对不起伙计们。当我使用其他端点代码进行测试时,代码正在运行。但是,当我使用Advanced Rest Client(chrome扩展)进行测试时,我不明白为什么我的第一个端点代码正常工作。我必须找到它。无论如何,谢谢guyz的回复

相关问题