首页
页面
关于我们
60秒读懂世界
友情链接
数据统计
免费电影
唯美壁纸
在线直播
热门文章
苹果 CMS 影视资源接口整合与对接全攻略 | 打造丰富影视平台
HTML轻量级APP下载引导页
[亲测]免费开源!夏柔 API 管理系统分享
【亲测】一款好用的PHP个人网盘源码
[亲测]鲸发卡 v11.71 企业级发卡系统源码下载
标签搜索
typecho主题
HTML5
开源
响应式设计
无后门源码
轻量级博客
api
前端开发
web设计
WordPress
开心版
mnbt
梦奈宝塔
网盘源码
博客美化
工具
seo
seo优化
swapidc
web开发
发布
登录
注册
找到
12
篇与
攻略
相关的结果
- 第 2 页
2025-01-12
QQ 号 API 获取用户高清头像教程及多语言代码
借助QQ号API获取用户高清QQ头像与昵称的实用指南 在投身Typecho开发、WordPress开发,亦或是其他涉及QQ用户的项目进程中,获取用户头像这一需求极为常见。经过一番探寻,我成功找到了可获取QQ高清头像的API接口,在此迫不及待地想要分享给大家。 调用截图 调用截图图片 一、普通头像API 普通头像的获取,可借助以下两个API地址实现: http://q1.qlogo.cn/g?b=qq&nk=QQ号码&s=100 在实际访问这个链接时,我们以QQ号码为123456789为例,当将其替换到链接中的QQ号码位置后,完整链接变为http://q1.qlogo.cn/g?b=qq&nk=123456789&s=100。通过访问此链接,便可得到该QQ号码对应的尺寸为100×100像素的普通头像。这一API接口能够稳定地提供普通尺寸的头像资源,适用于对头像清晰度要求不高,仅需快速展示头像的场景,例如一些列表页面,对头像清晰度的需求低于对加载速度的要求。 http://q2.qlogo.cn/headimg_dl?dst_uin=QQ号码&spec=100 同样以QQ号码123456789为例,替换后链接为http://q2.qlogo.cn/headimg_dl?dst_uin=123456789&spec=100。访问该链接,同样能获取到尺寸为100×100像素的普通头像。这个API与第一个类似,都是提供普通尺寸头像的获取途径,项目开发者可以根据实际的项目架构和需求,灵活选择使用。 二、高清头像API 若期望获取高清头像,可使用如下API:http://q.qlogo.cn/headimg_dl?dst_uin=QQ号码&spec=640&img_type=jpg。 当使用QQ号码123456789时,链接会变成http://q.qlogo.cn/headimg_dl?dst_uin=123456789&spec=640&img_type=jpg。访问修改后的链接,就能得到分辨率较高、细节更为丰富的高清头像,其尺寸达到640×640像素 ,格式为JPG。在项目中,若需要展示头像细节,或者在一些重要的展示区域使用头像,高清头像就显得尤为重要,这个API接口就为我们提供了这样的资源。 三、QQ昵称API(已失效) 曾经可用于获取QQ昵称的API为http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=QQ号码。以QQ号码123456789为例,替换后链接为http://users.qzone.qq.com/fcg-bin/cgi_get_portrait.fcg?uins=123456789,在该API失效前,访问链接可得到对应QQ号码的昵称。但目前此接口已无法正常使用,若项目中需要获取QQ昵称,开发者需寻找其他替代方案,比如尝试通过QQ互联平台等正规渠道申请相关接口权限,以满足获取昵称的需求。 四、示例调用代码 下面为大家提供多种语言调用上述头像API的示例代码,帮助大家更好地在项目中实现头像获取功能。 Python import requests def get_qq_avatar(qq_number, is_high_quality=True): if is_high_quality: api_url = f"http://q.qlogo.cn/headimg_dl?dst_uin={qq_number}&spec=640&img_type=jpg" else: api_url = f"http://q1.qlogo.cn/g?b=qq&nk={qq_number}&s=100" response = requests.get(api_url) if response.status_code == 200: with open(f"{qq_number}_avatar.jpg", "wb") as f: f.write(response.content) print(f"成功获取{'高清' if is_high_quality else '普通'}头像并保存为{qq_number}_avatar.jpg") else: print(f"获取头像失败,状态码:{response.status_code}") qq_number = "123456789" get_qq_avatar(qq_number, is_high_quality=True) get_qq_avatar(qq_number, is_high_quality=False)Java import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.net.URLConnection; public class QQAvatarFetcher { public static void getQQAvatar(String qqNumber, boolean isHighQuality) { String apiUrl; if (isHighQuality) { apiUrl = String.format("http://q.qlogo.cn/headimg_dl?dst_uin=%s&spec=640&img_type=jpg", qqNumber); } else { apiUrl = String.format("http://q1.qlogo.cn/g?b=qq&nk=%s&s=100", qqNumber); } try { URL url = new URL(apiUrl); URLConnection connection = url.openConnection(); InputStream inputStream = connection.getInputStream(); FileOutputStream outputStream = new FileOutputStream(String.format("%s_avatar.jpg", qqNumber)); byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.read(buffer)) != -1) { outputStream.write(buffer, 0, bytesRead); } outputStream.close(); inputStream.close(); System.out.println(String.format("成功获取%s头像并保存为%s_avatar.jpg", isHighQuality ? "高清" : "普通", qqNumber)); } catch (IOException e) { System.out.println(String.format("获取头像失败:%s", e.getMessage())); } } public static void main(String[] args) { String qqNumber = "123456789"; getQQAvatar(qqNumber, true); getQQAvatar(qqNumber, false); } }JavaScript(Node.js环境) const https = require('https'); const fs = require('fs'); function getQQAvatar(qqNumber, isHighQuality) { let apiUrl; if (isHighQuality) { apiUrl = `http://q.qlogo.cn/headimg_dl?dst_uin=${qqNumber}&spec=640&img_type=jpg`; } else { apiUrl = `http://q1.qlogo.cn/g?b=qq&nk=${qqNumber}&s=100`; } https.get(apiUrl, (response) => { const filePath = `${qqNumber}_avatar.jpg`; const fileStream = fs.createWriteStream(filePath); response.pipe(fileStream); fileStream.on('finish', () => { console.log(`成功获取${isHighQuality ? '高清' : '普通'}头像并保存为${filePath}`); }); response.on('error', (error) => { console.log(`获取头像失败:${error.message}`); }); }); } const qqNumber = "123456789"; getQQAvatar(qqNumber, true); getQQAvatar(qqNumber, false);C using System; using System.IO; using System.Net; class Program { static void GetQQAvatar(string qqNumber, bool isHighQuality) { string apiUrl; if (isHighQuality) { apiUrl = string.Format("http://q.qlogo.cn/headimg_dl?dst_uin={0}&spec=640&img_type=jpg", qqNumber); } else { apiUrl = string.Format("http://q1.qlogo.cn/g?b=qq&nk={0}&s=100", qqNumber); } try { WebRequest request = WebRequest.Create(apiUrl); using (WebResponse response = request.GetResponse()) using (Stream inputStream = response.GetResponseStream()) using (FileStream outputStream = new FileStream($"{qqNumber}_avatar.jpg", FileMode.Create)) { byte[] buffer = new byte[1024]; int bytesRead; while ((bytesRead = inputStream.Read(buffer, 0, buffer.Length)) > 0) { outputStream.Write(buffer, 0, bytesRead); } } Console.WriteLine($"成功获取{(isHighQuality ? "高清" : "普通")}头像并保存为{qqNumber}_avatar.jpg"); } catch (Exception ex) { Console.WriteLine($"获取头像失败:{ex.Message}"); } } static void Main() { string qqNumber = "123456789"; GetQQAvatar(qqNumber, true); GetQQAvatar(qqNumber, false); } }PHP <?php function getQQAvatar($qqNumber, $isHighQuality = true) { if ($isHighQuality) { $apiUrl = "http://q.qlogo.cn/headimg_dl?dst_uin={$qqNumber}&spec=640&img_type=jpg"; } else { $apiUrl = "http://q1.qlogo.cn/g?b=qq&nk={$qqNumber}&s=100"; } $imgData = file_get_contents($apiUrl); if ($imgData !== false) { $fileName = $isHighQuality ? "{$qqNumber}_high_quality_avatar.jpg" : "{$qqNumber}_avatar.jpg"; file_put_contents($fileName, $imgData); echo "成功获取" . ($isHighQuality ? "高清" : "普通") . "头像并保存为{$fileName}<br>"; } else { echo "获取头像失败<br>"; } } $qqNumber = "123456789"; getQQAvatar($qqNumber, true); getQQAvatar($qqNumber, false); ?>Go package main import ( "fmt" "io" "log" "net/http" "os" ) func getQQAvatar(qqNumber string, isHighQuality bool) { var apiUrl string if isHighQuality { apiUrl = fmt.Sprintf("http://q.qlogo.cn/headimg_dl?dst_uin=%s&spec=640&img_type=jpg", qqNumber) } else { apiUrl = fmt.Sprintf("http://q1.qlogo.cn/g?b=qq&nk=%s&s=100", qqNumber) } resp, err := http.Get(apiUrl) if err != nil { log.Fatalf("获取头像失败: %v", err) } defer resp.Body.Close() out, err := os.Create(fmt.Sprintf("%s_avatar.jpg", qqNumber)) if err != nil { log.Fatalf("创建文件失败: %v", err) } defer out.Close() _, err = io.Copy(out, resp.Body) if err != nil { log.Fatalf("写入文件失败: %v", err) } fmt.Printf("成功获取%s头像并保存为%s_avatar.jpg\n", func() string { if isHighQuality { return "高清" } return "普通" }(), qqNumber) } func main() { qqNumber := "123456789" getQQAvatar(qqNumber, true) getQQAvatar(qqNumber, false) }Ruby require 'net/http' require 'uri' def get_qq_avatar(qq_number, is_high_quality) if is_high_quality api_url = "http://q.qlogo.cn/headimg_dl?dst_uin=#{qq_number}&spec=640&img_type=jpg" else api_url = "http://q1.qlogo.cn/g?b=qq&nk=#{qq_number}&s=100" end uri = URI(api_url) response = Net::HTTP.get(uri) file_name = "#{qq_number}_#{is_high_quality ? 'high_quality_' : ''}avatar.jpg" File.write(file_name, response) puts "成功获取#{is_high_quality ? '高清' : '普通'}头像并保存为#{file_name}" rescue StandardError => e puts "获取头像失败: #{e.message}" end qq_number = "123456789" get_qq_avatar(qq_number, true) get_qq_avatar(qq_number, false)Swift(用于iOS/macOS开发,需在合适的项目环境中运行) import Foundation func getQQAvatar(qqNumber: String, isHighQuality: Bool, completion: @escaping (Result<Data, Error>) -> Void) { let apiUrl: String if isHighQuality { apiUrl = "http://q.qlogo.cn/headimg_dl?dst_uin=\(qqNumber)&spec=640&img_type=jpg" } else { apiUrl = "http://q1.qlogo.cn/g?b=qq&nk=\(qqNumber)&s=100" } guard let url = URL(string: apiUrl) else { completion(.failure(NSError(domain: "Invalid URL", code: 0, userInfo: nil))) return } URLSession.shared.dataTask(with: url) { data, response, error in if let error = error { completion(.failure(error)) return } guard let data = data else { completion(.failure(NSError(domain: "No data received", code: 0, userInfo: nil))) return } completion(.success(data)) }.resume() } let qqNumber = "123456789" getQQAvatar(qqNumber: qqNumber, isHighQuality: true) { result in switch result { case .success(let data): let filePath = "\(NSTemporaryDirectory())\(qqNumber)_high_quality_avatar.jpg" do { try data.write(to: URL(fileURLWithPath: filePath)) print("成功获取高清头像并保存到\(filePath)") } catch { print("保存高清头像失败: \(error)") } case .failure(let error): print("获取高清头像失败: \(error)") } } getQQAvatar(qqNumber: qqNumber, isHighQuality: false) { result in switch result { case .success(let data): let filePath = "\(NSTemporaryDirectory())\(qqNumber)_avatar.jpg" do { try data.write(to: URL(fileURLWithPath: filePath)) print("成功获取普通头像并保存到\(filePath)") } catch { print("保存普通头像失败: \(error)") } case .failure(let error): print("获取普通头像失败: \(error)") } }上述代码在各自语言环境下,根据传入的QQ号码和是否获取高清头像的参数,从对应的API获取头像数据,并将头像保存为本地文件。在实际使用中,请确保你的环境满足相应语言和库的运行要求,同时注意处理可能出现的网络请求错误和文件操作错误。另外,由于网络环境和QQ服务器的限制,实际运行效果可能会有所不同。
攻略
教程
# api
# QQ
# 头像获取
# 调用
福利源码
1月12日
0
0
0
2024-11-16
梦奈宝塔美化包:mnbt世道优化
源码名称 mnbt世道优化版本 预览版源码介绍 本源码是由一个MNBT群里的大佬自制的梦奈宝塔美化包,全面优化了用户界面。每个页面都经过细致美化,包括按钮形状、图标样式和字体排布等,视觉上简洁舒适,操作体验流畅。该版本采用柔和的曲线和和谐的色彩搭配,整体界面圆滑美观。最重要的是,它完全免费开源,用户可以自由下载和定制,保持了梦奈宝塔程序的强大功能,同时提升了美观性和实用性。源码截图 作者个人认为这个界面还是挺好看的登录界面 ssl证书界面图片 控制面板 控制面板图片 各种界面 保护目录设置图片 源码下载 访问mnbt世道美化版 下载地址:https://gitee.com/worldly-way/mnbt-world-optimization/releases/1.0.0 提取码: 直链下载 下载地址:https://www.123684.com/s/rCKrjv-Pxb8d? 提取码:FLYM 安装要求 安装梦奈宝塔后按教程覆盖安装教程 本图由源码作者亲批 安装教程图片温馨提示 本源码为抢先版,可能存在bug 注意:要是商用,控制版面的广告功能请不要私自去除【如想去除请联系开发者获取授权】(个人学习使用除外) 如有投放广告请联系作者
源码
攻略
# mnbt
# 梦奈宝塔
# 世道美化
# 梦乃宝塔美化
# mnbt美化
福利源码
1年前
1
1
0
2024-11-16
Video.js:打造功能丰富、跨平台的自定义HTML5视频播放器
项目名字 Video.js在线示例 源码好不好,一看就知道 如果想使用video.js,请确保浏览器可以运行JavaScript,并且支持 HTML5 video 使用 方法一 在 jsdelivr 和 bootcdn 上都可以找到video.js的cdn,我们以jsdelivr为例。 需要引入的js和css如下:https://unpkg.com/video.js@7.10.2/dist/video-js.min.css https://unpkg.com/video.js@7.10.2/dist/video.min.js引入video.js 最简单的使用video.js的方式是创建一个video标签,并且包含data-setup属性。data-setup属性可以包含video.js的各种配置。如果什么都不需要,可以传一个空对象”{}”<video id="my-player" class="video-js" controls preload="auto" width="640" height="264" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}" > <source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" /> <p class="vjs-no-js"> 如果想使用video.js,请确保浏览器可以运行JavaScript,并且支持 <a href="https://videojs.com/html5-video-support/" target="_blank" >HTML5 video</a> </p> </video>页面加载完成后,video.js会找到该video标签,然后启动一个播放器。 完整代码如下:<head> <link href="https://unpkg.com/video.js@7.10.2/dist/video-js.min.css" rel="stylesheet" /> <!-- 如果要支持IE8,请使用v7之前的video.js,并且引入下面这个js链接。--> <!-- <script src="https://vjs.zencdn.net/ie8/1.1.2/videojs-ie8.min.js"></script> --> </head> <body> <video id="my-player" class="video-js" controls preload="auto" width="640" height="264" poster="http://vjs.zencdn.net/v/oceans.png" data-setup="{}" > <source src="http://vjs.zencdn.net/v/oceans.mp4" type="video/mp4" /> <p class="vjs-no-js"> 如果想使用video.js,请确保浏览器可以运行JavaScript,并且支持 <a href="https://videojs.com/html5-video-support/" target="_blank" >HTML5 video</a> </p> </video> <script src="https://unpkg.com/video.js@7.10.2/dist/video.min.js"></script> </body>js启动 如果不想自动启动播放器,可以移除video标签上的data-setup属性,然后使用js代码启动。let player = videojs('my-player');调用videojs函数的时候,也可以传options配置对象和callback回调函数作为参数。let options = {}; let player = videojs('my-player', options, function onPlayerReady() { videojs.log('播放器准备好了!'); // In this context, `this` is the player that was created by Video.js. this.play(); this.on('ended', function() { videojs.log('播放结束!'); }); });获取Video.js 获取Video.js 下载地址:https://file.fulicode.cn/down.php/854370b8fa22a27d81c6be1a79a28f98.zip 提取码: 结语 祝大家安装成功2024-11-16 14:14:03 星期六
源码
攻略
教程
# Video.js
# html播放器
福利源码
1年前
0
0
0
2024-11-10
Waxy - 简洁自适应博客主题
Waxy主题提供了一个简洁而功能丰富的博客解决方案,适合那些希望拥有高度定制化博客的用户。它通过响应式设计确保了在不同设备上的良好显示效果,并通过图片懒加载和自定义侧边栏等功能提升了用户体验。Waxy还支持文章置顶、标星以及短代码快捷功能,使得内容管理和展示更加便捷。此外,置顶公告和代码高亮等实用功能进一步增强了主题的实用性。总的来说,Waxy是一个既适合初学者也适合有经验用户的博客主题,它在提供简洁外观的同时,也隐藏着无限的可能性等待用户去探索。
源码
攻略
教程
# typecho主题
# 简洁
# waxy主题
福利源码
1年前
0
3
0
2024-11-10
亿乐社区源码:大家期待已久的高端商城
引言 这款亿乐社区源码,在大多数站点都是要钱的,现在我在福利源码免费分享它!源码截图 后台登录页 后台登录页图片 后台首页 后台首页图片 前台登录页 前台登录页图片 前台首页 前台首页图片 安装要求 宝塔支持go项目 数据库需要可以自定义 php7.2 支持反向代理 安装教程 增加对接 docking_site 增加分站 substation 增加域名 substation_domain 数据库账号 yile123471 密码 bNxechDdTfBJcES3 第一个解压在opt第二个上传到数据库3反向代理4添加GO5增加域名 http://127.0.0.1:10010 $host推荐货源 可以对接www.diligo.asia源码下载 隐藏内容,请前往内页查看详情 温馨提示:安装后及时修改密码 结语 祝大家用的愉快,不会的可以哔哩哔哩。2024-11-10 22:34:50 星期日
源码
攻略
教程
# 亿乐社区
# 亿乐社区源码
# 免费源码
福利源码
1年前
8
2
0
上一页
1
2
3
下一页