我正在尝试在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参数没有被传递。 任何人都可以帮助我。 谢谢!
答案 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的回复