使用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 = 'http://dwz.cn/create.php';
$result = file_get_contents($url, false, $context);
echo $result;

 

posted on 2014-04-15 16:58  左小兵  阅读(1650)  评论(0编辑  收藏  举报

导航