模拟post进行url请求

/**
* 模拟post进行url请求
* @param string $url
* @param array $post_data
* @return bool|mixed
*/
function request_post($url = '', $post_data = array())
{
if (empty($url) || empty($post_data)) {
return false;
}
$str = "";
foreach ($post_data as $key => $val) {
$str .= "$key=".urlencode($val)."&";
}
$post = substr($str, 0, -1);
$options = array(
CURLOPT_RETURNTRANSFER => true, //设置获取的信息以文件流的形式返回,而不是直接输出
CURLOPT_HEADER => false, // 启用时是否将头文件的信息作为数据流输出
CURLOPT_POST => true, //启用时会发送一个常规的POST请求,类型为:application/x-www-form-urlencoded,就像表单提交的一样
CURLOPT_POSTFIELDS => $post, //处理后的伪post传递数组
CURLOPT_URL => $url //需要获取的URL地址
);
$ch = curl_init(); //初始化curl
curl_setopt_array($ch, $options);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}
posted @ 2016-09-02 12:24  rhythm0121  阅读(2354)  评论(0编辑  收藏  举报