最近在工作中需要請求第三方的一個java版的介面,起初是使用數組進行傳參,代碼寫完之後發現介面死活調試不通,總是提示傳參為空白,糾結了很久之後,決定嘗試使用字串傳參的方式來請求介面,沒想到這次居然調試成功了,這讓我有了研究這兩者究竟有何區別的興趣。
本地的測試代碼如下:
curl.php
functioncurl_post($url, $data){$ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $data); $output = curl_exec($ch); curl_close($ch); return$output;}$params = array();$params['username'] = 'ben';$params['password'] = 'lalala';print_r(curl_post('http://localhost/curl/post.php', $params));$params = array();$params['username'] = urlencode('ben');$params['password'] = urlencode('lalala');$paramsStr = "username={$params['username']}&password={$params['password']}";print_r(curl_post('http://localhost/curl/post.php', $paramsStr));?>
post.php
echo"-------php://input-----
";var_dump(@file_get_contents('php://input'));echo"-------post-----
";var_dump($_POST);echo"-------server-----
";var_dump($_SERVER);
執行結果可以參照如下:
').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('
').text(i)); }; $numbering.fadeIn(1700); }); });
著作權聲明:本文為博主原創文章,轉載請註明出處和作者名,尊重別人也是尊重自己
以上就介紹了php使用curl的post方法字串和數組傳值的區別,包括了方面的內容,希望對PHP教程有興趣的朋友有所協助。