php同curl post 發送json並返回json資料執行個體

來源:互聯網
上載者:User

標籤:

<?php$arr = array(    ‘subject‘=>‘課程‘,    ‘loginName‘=>‘Durriya‘,    ‘password‘=>‘123‘);//json也可以$data_string =  json_encode($arr);//普通數組也行//$data_string = $arr;echo $data_string;//echo ‘<br>‘;//curl驗證成功$ch = curl_init("http://test.api.com/");curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");curl_setopt($ch, CURLOPT_POSTFIELDS,$data_string);curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);curl_setopt($ch, CURLOPT_HTTPHEADER, array(    ‘Content-Type: application/json‘,    ‘Content-Length: ‘ . strlen($data_string)));$result = curl_exec($ch);if (curl_errno($ch)) {    print curl_error($ch);}curl_close($ch);echo $result;

接上面的curl依然可以訪問成功

//curl驗證成功$curl = curl_init();curl_setopt($curl, CURLOPT_URL, "http://hzgwyw.gensee.com/integration/site/training/room/created");curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);curl_setopt($curl,CURLOPT_POST,1);curl_setopt($curl,CURLOPT_POSTFIELDS,$data_string);curl_setopt($curl, CURLOPT_HEADER, 0);curl_setopt($curl, CURLOPT_HTTPHEADER, array(        ‘Content-Type: application/json; charset=utf-8‘,        ‘Content-Length: ‘ . strlen($data_string)    ));curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);$res = curl_exec($curl);curl_close($curl);echo $res;

以上是在隨便一個php頁面中可以實現的,在Thinkphp中所做的項目測試不支援頭部的定義,然後又有一種新的curl格式也可以提交成功,但是都已數組的形式可以實現

$ch = curl_init ();        curl_setopt ( $ch, CURLOPT_URL, $url );        curl_setopt ( $ch, CURLOPT_POST, 1 );        curl_setopt ( $ch, CURLOPT_HEADER, 0 );        curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );        curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );        $response = curl_exec($ch);        if (curl_errno($ch)) {            print curl_error($ch);        }        curl_close($ch);

做介面測試的過程中遇到的問題:

使用表單提交的方式:(可以是json,也可以是數組)

1)提交後將值轉化為數組--->對數組轉義json_encode($arr);成json資料可以實現,

2)提交後將值轉化為數組--->不進行轉義直接以數組的形式:兩種方法都可以實現

直接對變數賦值得到數組(不可以json資料)

 

以上三種經驗證都可以將資料輸出成json格式

<?php$data = array("subject" => "nihao",               "startDate" => "2016-10-12 22:22:22",              "loginName"=>‘[email protected]‘,              "password"=>‘hzgwyw‘,              );$data_string = $data;$url = "http://hzgwyw.gensee.com/integration/site/training/room/created";$ch = curl_init ();curl_setopt ( $ch, CURLOPT_URL, $url );curl_setopt ( $ch, CURLOPT_POST, 1 );curl_setopt ( $ch, CURLOPT_HEADER, 0 );curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt ( $ch, CURLOPT_POSTFIELDS, $data_string );$response = curl_exec($ch);if (curl_errno($ch)) {    print curl_error($ch);}curl_close($ch);echo $response;
View Code

 

php同curl post 發送json並返回json資料執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.