Loading... <div class="tip share">请注意,本文编写于 1732 天前,最后修改于 941 天前,其中某些信息可能已经过时。</div> 在写某个项目的时候,由于分享过来的是一条短链接,然后想获取他的长链接以获取域名进行相应的处理。搜了一遍Google好像都没有现成的包,所以自己徒手写了一个 #### 大纲 1. 使用语言 2. 使用模块 3. 使用方式 4. 完整代码 ##### 使用语言 * Python 3 ##### 使用模块 * [Requests](https://requests-docs-cn.readthedocs.io/zh_CN/latest/) 更多用法请参考官方文档 ##### 使用方式 1. 请求链接,添加 `allow_redirects=False` 禁止重定向,然后获取状态码 ```python import requests url = "http://url.cn/5lmKxvX" urlResp = requests.get(url, allow_redirects=False) urlCode = urlResp.status_code ``` 2. 判断状态码 * 如果状态码为404,那么该URL的网页不存在 ```python if urlCode == 404: print(”page isn't exist") ``` * 如果状态码为200,那么该URL不为短链接 ```python if urlCode == 200: print("the url isn't short url") longUrl = url ``` * 如果状态码为302,那么该URL为短链接,获取其headers的Location(重定向的地址,即为长链接) ```python if urlCode == 302: longUrl = urlResp.headers['Location'] ``` ##### 完整代码 ```bash import requests url = "http://url.cn/5lmKxvX" urlResp = requests.get(url,allow_redirects=False) urlCode = urlResp.status_code if urlCode == 404: print("the page isn't exist") elif urlCode == 200: longUrl = url else urlCode == 302: longUrl = urlResp.headers['Location'] ``` 最后修改:2022 年 10 月 03 日 © 允许规范转载 赞 1 如果对你有帮助,可以请我喝杯奶茶哦