卷曲的帖子在Php

时间:2015-05-04 12:11:31

标签: php json post curl

我正在使用CURL数据发送POST json个请求,但回复的内容类型仍为text/plain。 我哪里错了?

$data = array(
            "name" => "aaaaa",
            "email" => "aaa@aa.com",
            "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] => 

)

1 个答案:

答案 0 :(得分:2)

这就是回应。这意味着来自服务器的响应是text / plain。您的请求是application / json。如果要设置自己脚本的mime类型,可以使用Header();

相关问题