本文整理汇总了PHP中Curl::callWebServer方法的典型用法代码示例。如果您正苦于以下问题:PHP Curl::callWebServer方法的具体用法?PHP Curl::callWebServer怎么用?PHP Curl::callWebServer使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Curl
的用法示例。
在下文中一共展示了Curl::callWebServer方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: download
/**
* 下载多媒体文件
* @param $mediaId 多媒体ID
* @return 头信息如下
*
* HTTP/1.1 200 OK
* Connection: close
* Content-Type: image/jpeg
* Content-disposition: attachment; filename="MEDIA_ID.jpg"
* Date: Sun, 06 Jan 2013 10:20:18 GMT
* Cache-Control: no-cache, must-revalidate
* Content-Length: 339721
* curl -G "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=ACCESS_TOKEN&media_id=MEDIA_ID"
*/
public static function download($mediaId)
{
//获取ACCESS_TOKEN
$accessToken = AccessToken::getAccessToken();
$queryUrl = 'http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=' . $accessToken . '&media_id=' . $mediaId;
return Curl::callWebServer($queryUrl, '', 'GET');
}
示例2: getAutoreply
/**
* 获取自动回复规则
* 本接口与自定义菜单查询接口的不同之处在于,本接口无论公众号的接口是如何设置的,都能查询到接口,而自定义菜单查询接口则仅能查询到使用API设置的菜单配置。
* Url:http://mp.weixin.qq.com/wiki/7/7b5789bb1262fb866d01b4b40b0efecb.html
* @return bool|mixed
*
* 返回:
*/
public static function getAutoreply()
{
//获取ACCESS_TOKEN
$accessToken = AccessToken::getAccessToken();
$url = 'https://api.weixin.qq.com/cgi-bin/get_current_autoreply_info?access_token=' . $accessToken;
return Curl::callWebServer($url, '', 'GET');
}
示例3: getWeChatIPList
/**
* 获取微信服务器IP列表
*/
public static function getWeChatIPList()
{
//获取ACCESS_TOKEN
$accessToken = AccessToken::getAccessToken();
$url = 'https://api.weixin.qq.com/cgi-bin/getcallbackip?access_token=' . $accessToken;
return Curl::callWebServer($url, '', 'GET');
}
示例4: getShakeInfo
/**
* 获取摇周边的设备及用户信息
* 获取设备信息,包括UUID、major、minor,以及距离、openID等信息。
* 根据 $ticket 获取用户及设备信息
*
* @param $ticket 摇周边业务的ticket,可在摇到的URL中得到,ticket生效时间为30分钟
*
* @return array("data"=>array("page_id "=>1421,"openid"=> "oVDmXjp7y8aG2AlBuRpMZTb1-cmA",'beacon_info'=>array("distance"=> 55.00620700469034,"major"=> 10001,"minor"=> 19007,"uuid"=> "FDA50693-A4E2-4FB1-AFCF-C6EB07647825")), "errcode"=> 0,"errmsg"=> "success.")
*/
public static function getShakeInfo($ticket)
{
//获取ACCESS_TOKEN
$accessToken = AccessToken::getAccessToken();
$queryUrl = 'https://api.weixin.qq.com/shakearound/user/getshakeinfo?access_token=' . $accessToken;
$data = json_encode(array('ticket' => $ticket));
return Curl::callWebServer($queryUrl, $data, 'POST', 1, 0);
}
示例5: upload
/**
* 上传图片素材
* 上传在摇一摇页面展示的图片素材,素材保存在微信侧服务器上。
* 格式限定为:jpg,jpeg,png,gif,图片大小建议120px*120 px,限制不超过200 px *200 px,图片需为正方形。
*
* @param $filename,文件绝对路径
*
* @return array("data"=>array("pic_url"=>"http://shp.qpic.cn/wechat_shakearound_pic/0/1428377032e9dd2797018cad79186e03e8c5aec8dc/120"), "errcode"=> 0,"errmsg"=> "success.")
*/
public static function upload($filename)
{
//获取ACCESS_TOKEN
$accessToken = AccessToken::getAccessToken();
$queryUrl = 'https://api.weixin.qq.com/shakearound/material/add?access_token=' . $accessToken;
$data = array();
$data['media'] = '@' . $filename;
return Curl::callWebServer($queryUrl, $data, 'POST', 1, 0);
}
示例6: long2short
/**
* 将一条长链接转成短链接。
* 主要使用场景:开发者用于生成二维码的原链接(商品、支付二维码等)太长导致扫码速度和成功率下降,将原长链接通过此接口转成短链接再生成二维码将大大提升扫码速度和成功率。
* @param $longUrl String 需要转换的长链接,支持http://、https://、weixin://wxpay 格式的url
* @return array('errcode'=>0, 'errmsg'=>'错误信息', 'short_url'=>'http://t.cn/asdasd')错误码为0表示正常
*/
public static function long2short($longUrl)
{
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/shorturl?access_token=' . AccessToken::getAccessToken();
$queryAction = 'POST';
$template = array();
$template['long_url'] = $longUrl;
$template['action'] = 'long2short';
return Curl::callWebServer($queryUrl, '', $queryAction);
}
示例7: getRole
/**
* 获取自动回复规则
*
* @return String 返回结果与字段说明请查看http://mp.weixin.qq.com/wiki/7/7b5789bb1262fb866d01b4b40b0efecb.html
*/
public static function getRole($industryId1, $industryId2)
{
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/get_current_autoreply_info?access_token=' . AccessToken::getAccessToken();
$queryAction = 'POST';
$template = array();
$template['industry_id1'] = "{$industryId1}";
$template['industry_id2'] = "{$industryId2}";
$template = json_encode($template);
return Curl::callWebServer($queryUrl, $template, $queryAction);
}
示例8: sendTemplateMessage
/**
* 向用户推送模板消息
* @param $data = array(
* 'first'=>array('value'=>'您好,您已成功消费。', 'color'=>'#0A0A0A')
* 'keynote1'=>array('value'=>'巧克力', 'color'=>'#CCCCCC')
* 'keynote2'=>array('value'=>'39.8元', 'color'=>'#CCCCCC')
* 'keynote3'=>array('value'=>'2014年9月16日', 'color'=>'#CCCCCC')
* 'keynote3'=>array('value'=>'欢迎再次购买。', 'color'=>'#173177')
* );
* @param $touser 接收方的OpenId。
* @param $templateId 模板Id。在公众平台线上模板库中选用模板获得ID
* @param $url URL
* @param string $topcolor 顶部颜色, 可以为空。默认是红色
* @return array("errcode"=>0, "errmsg"=>"ok", "msgid"=>200228332} "errcode"是0则表示没有出错
*
* 注意:推送后用户到底是否成功接受,微信会向公众号推送一个消息。
*/
public static function sendTemplateMessage($data, $touser, $templateId, $url, $topcolor = '#FF0000')
{
$queryUrl = 'https://api.weixin.qq.com/cgi-bin/message/template/send?access_token=' . AccessToken::getAccessToken();
$queryAction = 'POST';
$template = array();
$template['touser'] = $touser;
$template['template_id'] = $templateId;
$template['url'] = $url;
$template['topcolor'] = $topcolor;
$template['data'] = $data;
$template = json_encode($template);
return Curl::callWebServer($queryUrl, $template, $queryAction);
}
示例9: getAccessTokenAndOpenId
/**
* Description: 通过code换取网页授权access_token
* 首先请注意,这里通过code换取的网页授权access_token,与基础支持中的access_token不同。
* 公众号可通过下述接口来获取网页授权access_token。
* 如果网页授权的作用域为snsapi_base,则本步骤中获取到网页授权access_token的同时,也获取到了openid,snsapi_base式的网页授权流程即到此为止。
* @param $code getCode()获取的code参数
*/
public static function getAccessTokenAndOpenId($code)
{
//公众号的唯一标识
$appid = WECHAT_APPID;
//公众号的appsecret
$secret = WECHAT_APPSECRET;
//填写为authorization_code
$grant_type = 'authorization_code';
//构造请求微信接口的URL
$url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid . '&secret=' . $secret . '&code=' . $code . '&grant_type=' . $grant_type . '';
//请求微信接口, Array(access_token, expires_in, refresh_token, openid, scope)
return Curl::callWebServer($url);
}
示例10: _getAccessToken
/**
* @descrpition 从微信服务器获取微信ACCESS_TOKEN
* @return Ambigous|bool
*/
private static function _getAccessToken()
{
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . WECHAT_APPID . '&secret=' . WECHAT_APPSECRET;
$accessToken = Curl::callWebServer($url, '', 'GET');
if (!isset($accessToken['access_token'])) {
return Msg::returnErrMsg(MsgConstant::ERROR_GET_ACCESS_TOKEN, '获取ACCESS_TOKEN失败');
}
$accessToken['time'] = time();
$accessTokenJson = json_encode($accessToken);
//存入数据库
$db = new mysql();
$db->connect(DBHOST, DBUSER, DBPASSWORD, DBNAME);
$sql = "update accesstoken set access_token='" . $accessTokenJson . "' where id=1";
$db->query($sql);
return $accessToken;
}
示例11: _getAccessToken
/**
* @descrpition 从微信服务器获取微信ACCESS_TOKEN
* @return Ambigous|bool
*/
private function _getAccessToken()
{
$url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=' . WECHAT_APPID . '&secret=' . WECHAT_APPSECRET;
$accessToken = Curl::callWebServer($url, '', 'GET');
if (!isset($accessToken['access_token'])) {
return Msg::returnErrMsg(MsgConstant::ERROR_GET_ACCESS_TOKEN, '获取ACCESS_TOKEN失败');
}
$accessToken['time'] = time();
$accessTokenJson = json_encode($accessToken);
//存入数据库
/**
* 这里通常我会把access_token存起来,然后用的时候读取,判断是否过期,如果过期就重新调用此方法获取,存取操作请自行完成
*
* 请将变量$accessTokenJson给存起来,这个变量是一个字符串
*/
return $accessToken;
}
示例12: _getJsapiTicket
/**
* @descrpition 从微信服务器获取js sdk api_ticket
* @return Ambigous|bool
*/
private static function _getJsapiTicket()
{
$accessToken = AccessToken::getAccessToken();
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=" . $accessToken;
$JsapiTicket = Curl::callWebServer($url, '', 'GET');
if (!isset($JsapiTicket['ticket'])) {
return Msg::returnErrMsg(MsgConstant::ERROR_GET_ACCESS_TOKEN, '获取js ticket失败');
}
$JsapiTicket['time'] = time();
$JsapiTicketJson = json_encode($JsapiTicket);
//存入数据库
$db = new mysql();
$db->connect(DBHOST, DBUSER, DBPASSWORD, DBNAME);
$sql = "update jsapiticket set ticket='" . $JsapiTicketJson . "' where id=1";
$db->query($sql);
return $JsapiTicket;
}
示例13: _getApiTicket
/**
* @descrpition 从微信服务器获取微信API_TICKET
* @return Ambigous|bool
*/
private static function _getApiTicket(){
$accessToken = AccessToken::getAccessToken(true);
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token=$accessToken";
$apiTicket = Curl::callWebServer($url, '', 'GET');
if(!isset($apiTicket['ticket'])){
return Msg::returnErrMsg(MsgConstant::ERROR_GET_API_TICKET, '获取API_TICKET失败');
}
$apiTicket['time'] = time();
$apiTicketJson = json_encode($apiTicket);
//存入数据库
/**
* 这里通常我会把api_ticket存起来,然后用的时候读取,判断是否过期,如果过期就重新调用此方法获取,存取操作请自行完成
*
* 请将变量$apiTicketJson给存起来,这个变量是一个字符串
*/
$f = fopen(self::_fileName2Store(), 'w+');
fwrite($f, $apiTicketJson);
fclose($f);
return $apiTicket;
}
示例14: semanticSemproxy
/**
* 语义理解
* 单类别意图比较明确,识别的覆盖率比较大,所以如果只要使用特定某个类别,建议将category只设置为该类别。
* @param $query 输入文本串,如“查一下明天从北京到上海的南航机票"
* @param $category String 需要使用的服务类型,如“flight,hotel”,多个用“,”隔开,不能为空。详见《接口协议文档》
* @param $latitude Float 纬度坐标,与经度同时传入;与城市二选一传入。详见《接口协议文档》
* @param $longitude Float 经度坐标,与纬度同时传入;与城市二选一传入。详见《接口协议文档》
* @param $region String 区域名称,在城市存在的情况下可省;与经纬度二选一传入。详见《接口协议文档》
* @param $city 城市名称,如“北京”,与经纬度二选一传入
* @param $openId
* @return bool|mixed
* 《接口协议文档》:http://mp.weixin.qq.com/wiki/images/1/1f/微信语义理解协议文档.zip
*/
public static function semanticSemproxy($query, $category, $openId, $latitude = '', $longitude = '', $region = '', $city = '')
{
$queryUrl = 'https://api.weixin.qq.com/semantic/semproxy/search?access_token=' . AccessToken::getAccessToken();
$queryAction = 'POST';
$template = array();
$template['query'] = $query;
$template['category'] = $category;
$template['appid'] = WECHAT_APPID;
$template['uid'] = $openId;
if (!empty($latitude)) {
$template['latitude'] = $latitude;
}
if (!empty($longitude)) {
$template['longitude'] = $longitude;
}
if (!empty($region)) {
$template['region'] = $region;
}
if (!empty($city)) {
$template['city'] = $city;
}
$template = json_encode($template);
return Curl::callWebServer($queryUrl, $template, $queryAction, 0, 0);
}
示例15: getJsApiTicket
/**
* 获取JsApiTicket
* 本接口与自定义菜单查询接口的不同之处在于,本接口无论公众号的接口是如何设置的,都能查询到接口,而自定义菜单查询接口则仅能查询到使用API设置的菜单配置。
* Url:http://mp.weixin.qq.com/wiki/7/7b5789bb1262fb866d01b4b40b0efecb.html
* @return string|ticket
*
* 返回:ticket值
*/
public static function getJsApiTicket()
{
// jsapi_ticket 应该全局存储与更新,以下代码以写入到文件中做示例
$data = json_decode(file_get_contents("jsapi_ticket.json"));
if ($data->expire_time < time()) {
$accessToken = AccessToken::getAccessToken();
// 如果是企业号用以下 URL 获取 ticket
// $url = "https://qyapi.weixin.qq.com/cgi-bin/get_jsapi_ticket?access_token=$accessToken";
$url = "https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi&access_token={$accessToken}";
$res = Curl::callWebServer($url, '', 'GET');
$ticket = $res['ticket'];
if ($ticket) {
$data = array();
$data['expire_time'] = time() + 7000;
$data['jsapi_ticket'] = $ticket;
$fp = fopen("jsapi_ticket.json", "w");
fwrite($fp, json_encode($data));
fclose($fp);
}
} else {
$ticket = $data->jsapi_ticket;
}
return $ticket;
}