关注微信时获取用户信息
关注微信公共号时获取用户信息
只需获取到 openID 即可通过 下面接口 获取用户信息 当然你也可以通过网页授权的方式拿到 openID
1 接口调用请求说明 2 http请求方式: GET https://api.weixin.qq.com/cgi-bin/user/info?access\_token=ACCESS\_TOKEN&openid=OPENID&lang=zh\_CN
1 private function _responseMsg() 2 { 3 $post_str = file_get_contents('php://input'); 4 if (!empty($post_str)) { 5 // 解析微信传过来的 XML 内容 6 $post_obj = (array)simplexml_load_string($post_str, 'SimpleXMLElement', LIBXML_NOCDATA); 7 $from_username = $post_obj['FromUserName']; 8 $to_username = $post_obj['ToUserName']; 9 $MsgType = $post_obj['MsgType']; //消息类型,event 10 $Event = $post_obj['Event']; //事件类型,subscribe(订阅)、unsubscribe(取消订阅) 11 $EventKey = $post_obj['EventKey']; //扫码关注时 带的信息
这里的 $post_obj['FromUserName'] 就是 当前用户的 openID
1 /** 2 * [http_curl description] 3 * @param [type] $url [description] 4 * @param string $method [description] 5 * @param [type] $postfields [description] 6 * @param array $headers [description] 7 * @param boolean $debug [description] 8 * @return [type] [description] 9 */ 10 public function http_curl($url, $method = 'GET', $postfields = null, $headers = array(), $debug = false) 11 { 12 $ci = curl_init(); 13 /* Curl settings */ 14 curl_setopt($ci, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1); 15 curl_setopt($ci, CURLOPT_CONNECTTIMEOUT, 30); 16 curl_setopt($ci, CURLOPT_SSL_VERIFYPEER, FALSE); 17 curl_setopt($ci, CURLOPT_SSL_VERIFYHOST, FALSE); 18 curl_setopt($ci, CURLOPT_TIMEOUT, 30); 19 curl_setopt($ci, CURLOPT_RETURNTRANSFER, true); 20 21 switch ($method) { 22 case 'POST': 23 curl_setopt($ci, CURLOPT_POST, true); 24 if (!empty($postfields)) { 25 curl_setopt($ci, CURLOPT_POSTFIELDS, $postfields); 26 $this->postdata = $postfields; 27 } 28 break; 29 } 30 curl_setopt($ci, CURLOPT_URL, $url); 31 curl_setopt($ci, CURLOPT_HTTPHEADER, $headers); 32 curl_setopt($ci, CURLINFO_HEADER_OUT, true); 33 34 $response = curl_exec($ci); 35 $http_code = curl_getinfo($ci, CURLINFO_HTTP_CODE); 36 37 if ($debug) { 38 echo "=====post data======\r\n"; 39 var_dump($postfields); 40 41 echo '=====info=====' . "\r\n"; 42 print_r(curl_getinfo($ci)); 43 44 echo '=====$response=====' . "\r\n"; 45 print_r($response); 46 } 47 curl_close($ci); 48 return array($http_code, $response); 49 }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通