PHP下使用CURL方式POST数据至API接口的代码
发布时间:2016-04-27, 11:44:03 分类:PHP | 编辑 off 网址 | 辅助
正文 1073字数 1,117,263阅读
PHP下使用curl方式post数据至api接口的方法,大部分的API的HTTP请求方式都为GET,所以不管用AJAX和PHP二次处理都能拿到返回的数据,但是一些API的HTTP请求方式是POST,那么我们就需要使用到curl了其实,也比较简单,上代码:
<?php
$url = 'http://127.0.0.1/test.php';//POST指向的链接
$data = array(
'access_token'=>'thekeyvalue'
);
$json_data = postData($url, $data);
$array = json_decode($json_data,true);
//print_r($array);
function postData($url, $data)
{
$ch = curl_init();
$timeout = 300;
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://lizhenqiu.com/"); //构造来路
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
$handles = curl_exec($ch);
curl_close($ch);
return $handles;
}
?>
Run code
Cut to clipboard
(支付宝)给作者钱财以资鼓励 (微信)→
有过 2 条评论 »
时间同步型动态口令对令牌卡和服务器的时间同步要求很高,时间误差会造成整个令牌的失灵,所以每一次用户成功使用令牌认证,服务器都会做相应的时间误差矫正。
“服务器都会做相应的时间误差矫正” 这个矫正是如何做的?
令牌卡根据当前时间计算口令并发送,服务器会根据当前时间前后的数个时间点分别计算口令,其中有某一个匹配就可以认为是认证成功,并将误差值进行记录。以后服务器端就可以直接将当前时间加上误差值去计算口令了。
NFC如何做到不联网即可支付的,利用什么通信手段与银行对接数据?
NFC只是完成手机和POS机的数据交互,即NFC手机只是在形式上代替了传统的银行IC卡,发起交易、跟银行系统卡的有效性、确认扣款等收据交互是由POS机完成的。
另外,需要补充一下的是,不是所有的NFC手机或应用都可以不联网进行交易的。这其中涉及到负责安全校验的SE模块( SE:即安全芯片,所有涉及敏感数据、加密运算等业务(如银行卡、公交卡)均需要单独安全芯片处理)。手机出厂时就内置SE芯片,且允许相应应用调用的话,就可以实现不联网交易,如刚在国内上市的APPLE PAY;
而有些手机有NFC功能但没有内置SE芯片,这就需要其他介质予以补充,以保证安全性,如移动运营商发特制的带有SE芯片的SIM卡,银联特制的带有SE芯片的SD卡;还有一种近年谷歌开发出的基于主机的卡模拟HCE(host-based cardemulation)技术,则必须要联网,
<?php $url = 'http://localhost/3.php'; $opt_data = 'name=BY2&age=999&sex=MAXMAN'; $curl = curl_init(); //初始化 curl_setopt($curl,CURLOPT_URL,$url); //设置url curl_setopt($curl,CURLOPT_HTTPAUTH,CURLAUTH_BASIC); //设置http验证方法 curl_setopt($curl,CURLOPT_HEADER,0); //设置头信息 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); //设置curl_exec获取的信息的返回方式 curl_setopt($curl,CURLOPT_POST,1); //设置发送方式为post请求 curl_setopt($curl,CURLOPT_POSTFIELDS,$opt_data); //设置post的数据 $result = curl_exec($curl); if($result === false){ echo curl_errno($curl); exit(); } print_r($result); curl_close($curl); ?>
PHP删除n天以前的文件,删除指定目录下指定类型(扩展名)的文件,包括子目录子和目录下的文件. 其中$ext数组代表不删除的文件扩展名. 调用函数trash('目录名',时间值);如trash('./files',3600) 参数时间值的单位是秒,如果省略不写,使用trash('./'),将删除当前时间10秒前及更早的文件. <?php function trash($folder,$time=10){ $ext=array('php','htm','html'); //带有这些扩展名的文件不会被删除. $o=opendir($folder); while($file=readdir($o)){ if($file !='.' && $file !='..' && !in_array(substr($file,strrpos($file,'.')+1),$ext)){ $fullPath=$folder.'/'.$file; if(is_dir($fullPath)){ trash($fullPath); @rmdir($fullPath); } else { if(time()-filemtime($fullPath) > $time){ unlink($fullPath); } } } } closedir($o); } trash('./');//调用自定义函数 ?>