使用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;