php 微信登录手机版和电脑版请求地址

又一次弄方便 查找记录下,



//
define( "WX_APPID" ,$appid); //公众号的appid
define( "WX_SRC" , $screat ); 公众号seceat

define( "WX_U" , 'snsapi_userinfo' ); 手机版的

   

define( "WX_AKEY" , $appid'); 微信开发平台的
define( "WX_SKEY" , $sceat);

define( "WX_SCOPE" , 'snsapi_login' );电脑版微信扫码


define( "WX_CALLBACK_URLL" , $serverName.'/parter/weixin/callback2.php' ); //登录之后地址

if(is_mobile()==true ){


header('location:https://open.weixin.qq.com/connect/oauth2/authorize?appid='.WX_APPID.'&redirect_uri='.urlencode(WX_CALLBACK_URLL).'&response_type=code&scope='.WX_U.'&state=STATE#wechat_redirect');

}else{


header('location:https://open.weixin.qq.com/connect/qrconnect?appid='.WX_AKEY.'&redirect_uri='.urlencode(WX_CALLBACK_URL).'&response_type=code&scope='.WX_SCOPE.'&state=STATE#wechat_redirect');


}


//手机版请求到回调之后:

在返回地址打印  :



array ( [code] => 061CVJUq0F85Pp1xXPXq02M8Vq0CVJUx [state] => STATE ) 获取到code

 code说明 :

code作为换取access_token的票据,每次用户授权带上的code将不一样,code只能使用一次,5分钟未被使用自动过期。

使用code换取access_token

换取网页授权access_token页面的构造方式:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

参数说明

参数

是否必须

说明

appid

公众号的唯一标识

secret

公众号的appsecret

code

填写第一步获取的code参数

grant_type

填写为authorization_code

code:在这里填写为上一步获得的值。



curl_get_https请求方法。(提示 :高版本的 直接 用 file_get_content 就可以

function curl_get_https($url){
    $curl = curl_init(); // 启动一个CURL会话
    curl_setopt($curl, CURLOPT_URL, $url);
    curl_setopt($curl, CURLOPT_HEADER, 0);
    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, true);  // 从证书中检查SSL加密算法是否存在
    $tmpInfo = curl_exec($curl);     //返回api的json对象
    //关闭URL请求
    curl_close($curl);
    return $tmpInfo;    //返回json对象

}


$get_token_url='https://api.weixin.qq.com/sns/oauth2/access_token?appid='.WX_APPID.'&secret='.WX_SRC.'&code='.$code.'&grant_type=authorization_code';
$res = curl_get_https($get_token_url); //获取文件内容或获取网络请求的内容
$json_obj = json_decode($res,true); 



打印如下: 


$access_token = $json_obj['access_token']; 获取到  token;

然后 用里面的openid 调用用户信息、



通过access_token、openid获取用户信息 

请求方法:

https://api.weixin.qq.com/sns/userinfo?access_token=ACCESS_TOKEN&openid=OPENID

  参数说明

参数

描述

access_token

网页授权接口调用凭证,注意:此access_token与基础支持的access_token不同

openid

用户的唯一标识

$get_user_info_url='https://api.weixin.qq.com/sns/userinfo?access_token='.$access_token.'&openid='.$openid.'&lang=zh_CN'; 
$res = curl_get_https($get_user_info_url); //获取文件内容或获取网络请求的内


//解析json 

$user_obj = json_decode($res,true); 



获取到获取信息 然后进行操作 跳转  结束。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值