一元网络论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 186|回复: 0

初来乍到,受论坛启发,以礼相报,制作了一款免费的随机图库API,供人使用。

[复制链接]

1万

主题

1万

帖子

5万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
50086
发表于 2024-7-19 06:01:14 | 显示全部楼层 |阅读模式
观察到一篇帖子分享:

访问此链接了解更多:新手入门,展示一个摄影网站的构建教程,包含秀人图库 - 免费软件交流 - LINUX DO

受启发后,我创建了一个API,它能随机提供图片,完全免费,基于Cloudflare和Workers技术。

体验示例: https://proud-tree-0d2d.wishs.workers.dev/
```javascript
addEventListener('fetch', event => {
  event.respondWith(handleRequest(event))
})
let cachedImageURLArray = []
async function handleRequest(event) {
  if (!cachedImageURLArray) {
    cachedImageURLArray = await fetchImageURLs()
  }
  const randomIndex = Math.floor(Math.random() * cachedImageURLArray.length)
  const randomImageUrl = cachedImageURLArray[randomIndex]
  return new Response(null, { status: 302, headers: { location: randomImageUrl } })
}
async function fetchImageURLs() {
  // 获取URL列表的URL
  const apiUrl = 'https://your-domain/urls.txt'
  const response = await fetch(apiUrl)
  const textContent = await response.text()
  // 分割文本为URL数组
  const imageUrls = textContent
    .split('\n')
    .map(line => line.trim())
    .filter(line => line)
  return imageUrls
}
```
**要点:**

1. `xrurl.txt`是源文件路径(需自存)。

2. API返回的是原帖主的图片链接,通过302重定向。

3. 为了自定义,可存储图片并更新`xrurl.txt`,或使用以下代码替换原有部分:
```javascript
const randomImageUrl = cachedImageURLArray[randomIndex]
const customUrl = randomImageUrl.replace('https://xiuren.251152.xyz', 'https://you.domain.com');
return new Response(null, { status: 302, headers: { location: customUrl } })
```
祝大家使用愉快! ????
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|一元网络论坛

GMT+8, 2024-9-10 14:03 , Processed in 0.060952 second(s), 20 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表