header("Content-type:text/html; charset=utf-8");
这个方法是最重要的
function getHttp($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); //相当关键,这句话是让curl_exec($ch)返回的结果可以进行赋值给其他的变量进行,json的数据操作,如果没有这句话,则curl返回的数据不可以进行人为的去操作(如json_decode等格式操作)
//CURLOPT_RETURNTRANSFER 将curl_exec()获取的信息以文件流的形式返回,而不是直接输出。
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
$data=curl_exec($ch);

    curl_close($ch);$jsonInfo=json_decode($data,true);return $jsonInfo;

}

1、第一步:获取code,其中的链接可以通过任何方式生成,也可以用微信公众号菜单
<?php

$APPID=''; //填写高级调用功能的app id
$appsecret=''; //填写高级调用功能的密钥
$REDIRECT_URI='http://www.***.***:81/wechat/test/getcode_2.php';

$scope='snsapi_base';
//$scope='snsapi_userinfo';//需要授权
$state=1;

$url='https://open.weixin.qq.com/connect/oauth2/authorize?appid='.$APPID.'&redirect_uri='.urlencode($REDIRECT_URI).'&response_type=code&scope='.$scope.'&state='.$state.'#wechat_redirect';
echo "url: ".$url;
header("Location:".$url);
?>

2第二步: 按步骤获取:access_token、用户openid、用户基本信息
<?php
$APPID=''; //填写高级调用功能的app id
$APPSECRET=''; //填写高级调用功能的密钥

$code = $_GET["code"];
//$get_token_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$APPID.'&secret='.$APPSECRET.'&code='.$code.'&grant_type=authorization_code';
$get_token_url="https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=$APPID&secret=$APPSECRET";
$res = post($get_token_url);
$json_obj = json_decode($res,true);  //根据openid和access_token查询用户信息
$access_token = $json_obj['access_token'];  $get_openid_url = 'https://api.weixin.qq.com/sns/oauth2/access_token?appid='.$APPID.'&secret='.$APPSECRET.'&code='.$code.'&grant_type=authorization_code';
$res = post($get_openid_url);
$json_obj = json_decode($res,true);
$openid = $json_obj['openid'];  $get_user_base_info_url = "https://api.weixin.qq.com/cgi-bin/user/info?access_token=$access_token&openid=$openid&lang=zh_CN";
$res = post($get_user_base_info_url);  $param = base64_encode($res);
$url = "http://218.***.***.10:8151/HiRunAdd.aspx?p=$param";  header("Location:".$url);  

/*
$get_userinfo_url = "https://api.weixin.qq.com/sns/userinfo?access_token=".$access_token."&openid=".$openid."&lang=zh_CN";
$res = post($get_userinfo_url);

//解析json
$user_obj = json_decode($res,true);
$_SESSION['user'] = $user_obj;
print_r($user_obj);
echo "<br/>"; 

*/

function post($url){
echo "url: $url <br/>";
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_HEADER,0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 10);
$res = curl_exec($ch);
curl_close($ch);
echo "resp: $res <br/><br/>";
return $res;
}
?>

转载于:https://blog.51cto.com/99998888/2083936

微信关注公众号获取用户名的方法相关推荐

  1. 微信关注公众号获取用户信息

    原本以为,获取用户信息,只能通过微信授权,后来才知道在关注公众号的时候,也可以获取到用户信息,而且这两种获取用户信息的方式是不同的,也没有什么交集 关注公众号,是通过接收事件推送,事件推送:关注成功, ...

  2. PHP 实现微信关注公众号或扫码实现获取用户信息

    php微信关注公众号或扫码实现获取用户信息(内含简易框架搭建,可复用) 概述 用户可通过扫描二维码进行关注或单纯进行扫码操作,实现获取用户微信信息,提高公众号关注率 详细 流程 准备工作 准备公众号及 ...

  3. 手机短信直接跳转到微信关注公众号或者添加好友的方案

    近期有发现越来越多的广告行业的同仁在寻找如何提升在公众号/个人微信吸粉的通道,因为成本暴涨,各个广告渠道又不是很稳定,所以很多人都在咨询如何降低成本,在微信的广告渠道是有限的并且非常贵,所以只能通过外 ...

  4. 实现手机浏览器跳转微信关注公众号

    今天讲讲微信跳转的那些事情,这项技术最早出现在在线广告上面,可以从外部引流到微信并打开微信内置浏览器然后打开一个指定的网页地址,在这个网页里面可以放任何想推广的内容,可以是引导文案.活动内容,或者是一 ...

  5. 微信跳转,wxtz,跳转微信关注公众号

    微信跳转,wxtz,跳转微信关注公众号,从app或者网页浏览器跳转到微信打开公众号关注界面或者添加好友! 通过weixin://dl/business/?ticket=XXX,能够打开微信并且打开指定 ...

  6. 微信H5公众号获取openid爬坑记

    前要: 之前做过的公众号授权一般是在登录时的,最近遇到一个直接微信打开企业微信发过来的链接进去预约页面,需要进来时查询当前微信的用户有没有预约过对应的申请,如果有就跳转到index的列表页,没有的话留 ...

  7. 根据微信的公众号获取公众号的二维码 根据公众号获得二维码的图片

    最近在维护一个老项目,就是根据微信的公众号,也就是英文数字那串的公众号 来获得公众号的二维码的,我看了下,之前的代码是用的这个网址 http://open.weixin.qq.com/qr/code/ ...

  8. 小程序客服消息之如何引导自动关注公众号(5种方法)

    看到好多小程序,客服消息上来推送 一篇公众号的图文(这种形式,更助于介绍自身业务,引导关注公众号), 你是不是很羡慕,然而,后台接口又不会写,那就只能坐以待毙了吗? 下面给大家介绍一个工具 (1)不需 ...

  9. 如何在网页上添加一个微信关注链接?(一键跳转微信关注公众号)!!注意是从外部跳到微信关注...

    如何在网页上添加一个微信关注链接?第三方浏览器打开微信的接口,微信只给部分合作平台开放了接口权限,任何第三方想调用只能是通过一些技术手段来请求接口,获取秘钥(ticket).那么如果我们想减少用户从外 ...

  10. 微信 进入公众号获取地理位置

    1.进入微信管理后台 - 开发 - 接口权限

最新文章

  1. python编写脚本方法_【Python】教你一步步编写banner获取脚本
  2. 本地复制不能粘贴到服务上
  3. Skyline 扩展模块简介
  4. matlab中任意两边之和大于第三边,无法赋值,左侧大小1*1,右侧1*3,代码报错,但是看不出来两边大小不相等啊...
  5. java 等额本金等额本息工具类
  6. tf.truncated_normal和tf.random_normal使用方法的区别
  7. learn at ease
  8. 超详细SQLMap使用攻略及技巧分享
  9. post multipart/form-data 类型表单如何获取File外其他参数
  10. 通信人,请不要吝啬举手之劳
  11. C语言循环结构素数判断,C语言实验之判断素数(循环结构java)方法讲解
  12. 什么时候使用resulttype_ResultMap和ResultType在使用中的区别
  13. candence的图纸大小设置_提前感受一下,CAD高手的字体和标注设置原则
  14. git clone 出现fatal: unable to access ‘https://github 类错误解决方法
  15. 蓝桥杯 ALGO-113 算法训练 数的统计
  16. uni-app 商城源码
  17. UMD 被淘汰了吗?不考虑的 UMD 的库如何在纯 UMD 前端项目中运行?
  18. 12面魔方公式图解法_魔方小站三级12面魔方教程拍个视频
  19. 《通过UE4/UE5的ProceduralMesh组件创建网格》
  20. ods转html android,SAS--output delivery system--ods html

热门文章

  1. ​在Windows 10 下安装 Vmware 时遇到的问题和解决​方法
  2. 校技能节之打铁记~~~~~~
  3. 网站服务器ftp破解,Wing FTP Server(FTP服务器)
  4. no-cache和no-store的区别
  5. 浅谈短视频APP的发展趋势
  6. 房子出租后房东能随意进入租户家中吗?
  7. app三种工具的元素定位与swipe 滑动
  8. R语言data.table包进行数据分组聚合统计变换(Aggregating transforms)、计算dataframe数据的分组四分位距(interquartile range, IQR)
  9. Unity3D导入图片资源
  10. 传奇服务器赞助文件夹,传奇服务端每个文件夹的含义