本文整理匯總了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;
}