首页
页面
关于我们
60秒读懂世界
友情链接
数据统计
免费电影
唯美壁纸
在线直播
热门文章
苹果 CMS 影视资源接口整合与对接全攻略 | 打造丰富影视平台
HTML轻量级APP下载引导页
[亲测]免费开源!夏柔 API 管理系统分享
【亲测】一款好用的PHP个人网盘源码
[亲测]鲸发卡 v11.71 企业级发卡系统源码下载
标签搜索
typecho主题
HTML5
开源
响应式设计
无后门源码
轻量级博客
api
前端开发
web设计
WordPress
开心版
mnbt
梦奈宝塔
网盘源码
博客美化
工具
seo
seo优化
swapidc
web开发
发布
登录
注册
找到
3
篇与
api
相关的结果
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
2025-01-03
[亲测]免费开源!夏柔 API 管理系统分享
探索夏柔免费API管理系统:功能、安装与使用指南 在当今数字化飞速发展的时代,API管理系统在各类开发项目中扮演着举足轻重的角色。今天,我们将深入了解一款备受瞩目的API管理系统——夏柔免费API管理系统,它以其独特的特性和丰富的功能,为开发者们提供了一个强大的学习、测试和交流平台。截图 首页图片 一、系统概述 夏柔免费API管理系统是基于ZeroArt进行二次开发并精心美化页面的成果,其页面设计风格巧妙地借鉴了知名的ApiFox,为用户打造了一个简洁直观、操作便捷的交互界面。需要特别强调的是,该系统严禁用于任何商业用途,其核心使命是为开发者们提供一个纯粹的学习测试交流环境。 这款系统的一大亮点在于其内置了超过100个免费接口(远程),这些接口涵盖了多种功能和数据类型,为开发者在进行API相关的学习和测试时提供了丰富的资源。而且,这些内置的远程接口能够持续稳定地提供调用服务,这意味着开发者在部署完成后,无需担心接口的可用性问题,可以立即全身心投入到项目的实践中,快速验证自己的想法和代码逻辑。 二、安装教程 获取源代码 首先,将夏柔免费API管理系统的源代码下载到本地环境。这一步骤就像是为构建一座大厦搬运基础材料,确保后续的安装和配置工作有稳定的根基。↓ 隐藏内容,请前往内页查看详情 数据库配置 打开位于/config目录下的database.php文件,这是系统与数据库进行通信的关键配置文件。在其中,你需要仔细填写数据库的各项连接信息,包括数据库主机地址(如localhost或远程数据库服务器的IP地址)、用户名、密码以及数据库名称等。准确无误地配置这些参数,就如同为系统搭建了一座坚固的桥梁,使其能够顺利地与数据库进行交互,存储和读取数据。 导入数据库并访问前台 完成数据库配置后,接下来导入数据库。这一步骤将为系统注入必要的数据结构和初始数据,使其具备基本的运行能力。在导入数据库成功后,你就可以通过在浏览器中输入系统的前台地址来访问系统了。此时,你将看到系统的前端界面,初步领略其功能和布局。 三、网站相关配置 后台管理地址与账户密码 系统的后台管理地址为http(s)://domain.com/admin,这是进入系统管理核心区域的门户。通过这个地址,管理员可以对整个系统进行全面的管理和配置。后台账户为admin,登录密码为123456。在首次登录后,强烈建议管理员立即修改密码,以确保系统的安全性。在后台管理界面中,管理员可以对API接口进行分类管理、查看接口调用记录、管理用户权限等操作,实现对系统的精细控制。 用户中心地址 用户中心地址为http(s)://domain.com/user,这是普通用户进行个人信息管理、查看自己的操作记录以及与系统进行交互的重要区域。用户可以在这里修改个人资料、查看自己使用API接口的历史记录、管理自己创建的自定义接口等。 四、更新介绍 在2022年11月26日的更新中,系统进行了一系列的优化和功能增强。首先,对首页和文章样式进行了修改,使其更加美观和易于阅读。新的首页样式可能采用了更现代的布局方式,突出了系统的核心功能和热门接口,方便用户快速找到所需内容。文章样式的改进则提升了文档的可读性,让用户在阅读系统说明、使用教程等文档时能够更加轻松愉快。 此外,更新还添加了自定义接口图片功能。这一功能为开发者提供了更大的个性化空间,他们可以为自己创建或管理的接口添加特定的图片,以便更好地标识和区分不同的接口。例如,对于一个图片处理相关的API接口,开发者可以上传一张与图片处理相关的图片作为接口的标识,这样在接口列表中就能够更加直观地识别该接口的功能。 五、使用说明 合法合规使用 使用本程序必须严格遵守法律法规,严禁使用本程序进行部署色情、反政府等违法接口。开发者在使用系统时,应确保所调用的接口和进行的操作都是合法合规的,共同维护一个健康、安全的网络环境。 禁止商用与学习交流目的 再次强调,本系统严禁商用,仅供学习测试交流。开发者可以利用系统提供的接口和功能进行个人学习、项目测试以及与其他开发者的技术交流。在学习交流过程中,大家可以分享使用心得、探讨技术问题,共同提高API管理和开发的技能水平。 夏柔免费API管理系统为广大开发者提供了一个极具价值的学习测试交流平台,希望大家在使用过程中严格遵守相关规定,充分发挥其优势,共同推动API技术的发展和创新。
源码
# api
福利源码
1月3日
2
13
0
2024-11-30
聚合 APP、TVBox 与直播源:海量资源全收录与使用指南
文章主要对各类资源进行了聚合分享,涵盖了热门 TVBox 源(如唐三、Fongmi、俊于等众多不同来源的相关链接)以及 LIVE 直播源(包括 Global 直播源、IPTV、Radio 电台源等对应链接),同时强调了所有资源均收集自互联网,仅供测试研究使用,使用者需自行承担相应法律责任,不可商用,若引用文章内容需遵守开源协议。
接口分享
# TVBox解析源
# TVBox
# Scovis For TVBox
# Scovis
# api
# 接口分享
福利源码
1年前
0
3
0