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