概述
本文整理于网络,仅供阅读参考,如有不妥之处,敬请批评指正!如果您想加入微擎社区版技术大牛微信群和QQ群,请联系微信: ccccyyyy4444 或者 QQ:155120699
微擎中http请求函数,依赖于PHP的 CURL 类库。
系统全局公共函数全部位于 framework/function/communication.func.php 文件内。
使用时需要使用 load()->func('communication')
引用
使用示例
附带登录身份请求
一些地址需要用户登录后才可访问,其实就是在请求地址时,附带上用户登录后的 cookie 信息,下面通过示例来讲解。
请求登录地址,提交用户名密码获取登录后的 cookie 信息。
$loginurl = 'https://mp.weixin.qq.com/cgi-bin/bizlogin?action=startlogin';
$response = ihttp_request($loginurl, array(
'username' => 'xxxxx', //登录的用户名
'pwd' => md5('xxxxx'), // 登录的密码
'f' => 'json'
), array(
'CURLOPT_REFERER' => 'https://mp.weixin.qq.com/'
));
//登录成功后,把返回的cookie信息存到变量中
$cookie = $response['headers']['Set-Cookie'];
$result = json_decode($response['content'], true);
$login_qrcode = ihttp_request('https://mp.weixin.qq.com/' . $result['redirect_url'], array(), array(
'CURLOPT_COOKIE' => implode(';', $cookie), //再请求别的地址时,附带上登录成功的Cookie信息
));
自定义头部请求
获取微信图片
微信的图片需要要求必须有引用页,程序中无法直接调用,以下代码实现一个具体引用页的请求来获取微信图片
load()->func('communication');
//微信图片
$image = 'https://mmbiz.qlogo.cn/mmbiz_jpg/W0GqhYibias7vXCSLoQicrfiaBJ5bT96UKOMpXDibZdCcJFbCjG30h2Sibxn5HtJp7DZAyOydJ2gttaicMlGfZicrd4yrg/0?wx_fmt=jpeg';
$content = ihttp_request($image, '', array('CURLOPT_REFERER' => 'http://www.qq.com'));
header('Content-Type:image/jpg');
echo $content['content'];
exit();
此实例为获取支付宝的支付地址
支付宝的接口通过301跳转来发送给客户端跳转地址,程序中为了获取此url,故设置请求时不自动跳转
load()->func('communication');
$response = ihttp_request(ALIPAY_GATEWAY . '?' . http_build_query($set, '', '&'), array(), array('CURLOPT_FOLLOWLOCATION' => 0));
return array('url' => $response['headers']['Location']);
此实例为模拟微信请求地址
请求数据为xml格式
load()->func('communication');
$response = ihttp_request($item['apiurl'], $message, array('CURLOPT_HTTPHEADER' => array('Content-Type: text/xml; charset=utf-8')));
return $response['content'];
如果看不懂微擎社区版二次开发手册或者遇到问题,请联系微信: ccccyyyy4444 或者 QQ:155120699 ,如果我们有空闲时间,可以免费为您答疑解惑。