Curl Post In Php
问题描述:
我正在解雇CURL
POST
请求json
数据,但其响应的内容类型仍为text/plain
。 我哪里错了?Curl Post In Php
$data = array(
"name" => "aaaaa",
"email" => "[email protected]",
"password" =>"aaa",
"gender" => "male",
);
$data1 = json_encode($data);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://xxxx.xxx.xxx/register");
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json'));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$result = curl_exec($ch);
$last = curl_getinfo($ch);
print_r($result);
print_r($last);
响应: -
Array
(
[url] => http://xxxx.xxx.xxx/register
[content_type] => text/plain
[http_code] => 403
[header_size] => 358
[request_size] => 277
[filetime] => -1
[ssl_verify_result] => 0
[redirect_count] => 0
[total_time] => 0.067338
[namelookup_time] => 2.2E-5
[connect_time] => 0.000448
[pretransfer_time] => 0.007352
[size_upload] => 161
[size_download] => 9
[speed_download] => 133
[speed_upload] => 2390
[download_content_length] => 9
[upload_content_length] => 161
[starttransfer_time] => 0.06731
[redirect_time] => 0
[redirect_url] =>
)
答
这是响应。所以这意味着服务器的响应是纯文本的。你的请求改为application/json。如果你想设置你自己脚本的MIME类型,你可以使用Header();
正在响应的页面未设置正确的MIME类型。你用JSON发送了一些东西,他们用纯文本回答。他们不必以相同的方式回应;)如果您张贴到您自己的脚本中,请检查您是否设置了正确的MIME类型。 – MueR