1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
import requests
import re
import sys
import time
def get_final_url(short_url):
try:
# 允许重定向
response = requests.head(short_url, allow_redirects=True)
# 返回长链接
return response.url
except requests.exceptions.RequestException as e:
# 处理异常
print(f"请求异常: {e}")
return None

if name == "main":
if len(sys.argv) == 1:
print("请输入参数")
else:
short_url=sys.argv[2]
final_url = get_final_url(short_url)
if final_url:
mark_index = final_url.find("?")
if mark_index != -1:
cleaned_url = final_url[:mark_index]
print(cleaned_url)
else:
cleaned_url = url
print(cleaned_url)
else:
print("无法获取最终URL")

使用例:例如你复制到 bilibili 的的链接为
【关于像素工厂你绝对有可能不知道的冷知识!-哔哩哔哩】 https://b23.tv/NnNrauX

那么使用方法就是 python custom.py 【关于像素工厂你绝对有可能不知道的冷知识!-哔哩哔哩】 https://b23.tv/NnNrauX

短链接跳转主要是 http 301/302,将用户重定向至另一个网址。主流语言的 httpclient 允许允许跳转后即可获得最终的长链接。

在此可以提供一个 31 行的 python 小程序小程序,可以将 b 站站的短链接转换成长链接,直接作为命令行的参数输入即可

目前已知知乎分享和 bilibili 短链短链分享会携带跟踪代码,不能分享至 tg