在注册模块中,准备通过用户输入QQ号来获得昵称,头像。
以下两种种都可以
847064370 是 qq 号码,
100 是尺寸,具体可以参考下图
QQ昵称和QQ空间头像的获取其实都是通过第一个链接返回的 jsonp 数据中得到的
http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=847064370
其中 847064370 是 qq 号码
其中 "http://qlogo3.store.qq.com/qzone/847064370/847064370/100" 是 QQ头像
"初云" 是 QQ 昵称
应该导入的第三方库
QQ.java
QQUtil.java
运行结果
本文地址:https://liuyanzhao.com/7536.html
一、QQ 头像
以下两种种都可以
- http://q1.qlogo.cn/g?b=qq&nk=847064370&s=100
- http://q2.qlogo.cn/headimg_dl?dst_uin=847064370&spec=100
847064370 是 qq 号码,
100 是尺寸,具体可以参考下图
二、QQ 昵称
QQ昵称和QQ空间头像的获取其实都是通过第一个链接返回的 jsonp 数据中得到的
http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins=847064370
其中 847064370 是 qq 号码
其中 "http://qlogo3.store.qq.com/qzone/847064370/847064370/100" 是 QQ头像
"初云" 是 QQ 昵称
三、Java 代码获取QQ昵称和头像
应该导入的第三方库
- <!--lombok-->
- <dependency>
- <groupId>org.projectlombok</groupId>
- <artifactId>lombok</artifactId>
- <optional>true</optional>
- </dependency>
- <!--fasthson-->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.7</version>
- </dependency>
QQ.java
- package com.liuyanzhao.chuyun.vo;
- import lombok.Data;
- /**
- * @author 言曌
- * @date 2018/2/18 下午10:35
- */
- @Data
- public class QQ {
- private Long id;
- private String name;
- private String avatar;
- public QQ() {
- }
- public QQ(Long id, String name, String avatar) {
- this.id = id;
- this.name = name;
- this.avatar = avatar;
- }
- }
QQUtil.java
- package com.liuyanzhao.chuyun.util;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.liuyanzhao.chuyun.vo.QQ;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.net.MalformedURLException;
- import java.net.URL;
- import java.net.URLConnection;
- /**
- * 根据QQ号码获取QQ信息
- * @author 言曌
- * @date 2018/2/19 上午9:55
- */
- public class QQUtil {
- private static String getQQJsonStr(Long qqId) {
- StringBuilder jsonString = new StringBuilder();
- URLConnection connection = null;
- try {
- URL urlObject = new URL("http://r.pengyou.com/fcg-bin/cgi_get_portrait.fcg?uins="+qqId);
- connection = urlObject.openConnection();
- BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(),"GBK"));
- String inputLine = null;
- while ((inputLine = in.readLine()) != null) {
- jsonString.append(inputLine);
- }
- in.close();
- } catch (MalformedURLException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- }
- return jsonString.toString().substring("portraitCallBack(".length(),jsonString.length()-1);
- }
- public static QQ getQQInfo(Long qqId) {
- QQ qq = new QQ();
- String jsonString = getQQJsonStr(qqId);
- JSONObject jsonObject = JSON.parseObject(jsonString);
- JSONArray jsonArray = jsonObject.getJSONArray(String.valueOf(qqId));
- qq.setId(qqId);
- qq.setName((String) jsonArray.get(6));
- qq.setAvatar((String) jsonArray.get(0));
- return qq;
- }
- public static void main(String args[]) {
- System.out.println(getQQInfo(847064370L));
- }
- }
运行结果
本文地址:https://liuyanzhao.com/7536.html
您可以选择一种方式赞助本站
支付宝扫一扫赞助
微信钱包扫描赞助
赏