使用PHP的curl扩展实现跨域post请求,以及file_get_contents()百度短网址例子
作者:
秒速五厘米
<?php $ch=curl_init(); curl_setopt($ch,CURLOPT_URL,"http://dwz.cn/create.php"); curl_setopt($ch,CURLOPT_POST,true); curl_setopt($ch,CURLOPT_RETURNTRANSFER,true); $data=array('url'=>'http://www.cnblogs.com/zuoxiaobing/'); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $strRes=curl_exec($ch); curl_close($ch); $arrResponse=json_decode($strRes,true); if($arrResponse['status']==0) { /**错误处理*/ echo iconv('UTF-8','GBK',$arrResponse['err_msg'])."\n"; } /** tinyurl */ echo$arrResponse['tinyurl']."\n"; ?>
2.使用file_get_contents();
<?php $data=array( 'url'=>'http://www.cnblogs.com/zuoxiaobing/' ); $data = http_build_query($data); $opts = array('http' => array( 'method' => 'POST', 'header' => "Content-type: application/x-www-form-urlencoded\r\n" ."Content-Length: " . strlen($data) . "\r\n", // "Authorization: Basic ".base64_encode("$https_user:$https_password")."\r\n", 'content' => $data, 'timeout' => 60 ) ); $context = stream_context_create($opts); $url = ' $result = file_get_contents($url, false, $context); echo $result;