Python调用Rebrandly API批量转换文件内长链接为短链接求助
批量转换长链接为短链接(Rebrandly API)
问题分析
你当前的代码存在两个关键问题:
- Rebrandly创建短链接的接口要求使用POST请求,而非你用的GET请求
- 代码仅处理了硬编码的单个链接,没有实现从
file.txt批量读取链接的逻辑
可行代码实现
首先确保已经安装requests库:
pip install requests
以下是完整的批量处理代码:
import requests # 配置Rebrandly API信息 API_KEY = "你的API密钥" API_URL = "https://api.rebrandly.com/v1/links" # 读取file.txt中的所有链接 with open("file.txt", "r") as f: long_links = [line.strip() for line in f if line.strip()] # 去除空行和首尾空格 # 设置请求头 headers = { "Accept": "application/json", "Content-Type": "application/json", "apikey": API_KEY } # 批量处理每个链接 for link in long_links: # 构造请求体 payload = { "destination": link # 可选:添加自定义短链接后缀,比如 "slashtag": "my-custom-link" } try: # 发送POST请求创建短链接 response = requests.post(API_URL, json=payload, headers=headers) response.raise_for_status() # 捕获HTTP错误 # 解析响应并输出结果 result = response.json() print(f"原链接: {link}") print(f"短链接: {result['shortUrl']}\n") # 可选:将结果写入新文件 with open("short_links.txt", "a") as output_file: output_file.write(f"{link} -> {result['shortUrl']}\n") except requests.exceptions.RequestException as e: print(f"处理链接 {link} 失败: {str(e)}")
代码说明
- 读取
file.txt时自动过滤空行,避免无效请求 - 使用
POST请求并以JSON格式传递目标链接,符合Rebrandly API的要求 - 加入了异常处理,能捕获请求失败的情况并给出提示
- 可选功能:将转换结果写入
short_links.txt文件,方便后续查看
内容的提问来源于stack exchange,提问作者Pixieon Pixieon
相关产品推荐
相关产品推荐

