Closed singer1026 closed 2 months ago
刚才看你修复了这个问题,但是还是有点小bug
生成的地址多了一个“/”
/d//115
另外还是希望生成的URL encodeURI下,第三方播放器有中文的路径没法播放
http://192.168.100.1:5244/d//115/影视库/天行健 (2024)/天行健.S01E02.2024.2160p.60fps.WEB-DL.H265.EDR.DDP5.1-BestWEB.mkv
我用ai写了一段Python encodeURI的方法 并测试通过,希望能给你提供一点帮助
from urllib.parse import urlparse, urlunparse, quote, quote_plus
def encode_url(url):
# 解析URL
parsed_url = urlparse(url)
# 对路径部分进行编码
encoded_path = quote(parsed_url.path, safe='/')
# 对查询字符串部分进行编码
encoded_query = quote_plus(parsed_url.query, safe=':/?&=#')
# 重新构建URL,只替换路径和查询字符串部分
encoded_url = urlunparse((
parsed_url.scheme, # 协议
parsed_url.netloc, # 网络位置(域名)
encoded_path, # 编码后的路径
parsed_url.params if parsed_url.params else '', # 参数(如果有)
encoded_query, # 编码后的查询字符串
parsed_url.fragment if parsed_url.fragment else '' # 片段(如果有)
))
return encoded_url
if __name__ == "__main__":
# 测试函数
test_url = "http://192.168.100.1:5244/d/115/影视库/天行健 (2024)/天行健.S01E02.2024.2160p.60fps.WEB-DL.H265.EDR.DDP5.1-BestWEB.mkv"
print(encode_url(test_url))
#打印结果为:
#http://192.168.100.1:5244/d/115/%E5%BD%B1%E8%A7%86%E5%BA%93/%E5%A4%A9%E8%A1%8C%E5%81%A5%20%EF%BC%882024%EF%BC%89/%E5%A4%A9%E8%A1%8C%E5%81%A5.S01E02.2024.2160p.60fps.WEB-DL.H265.EDR.DDP5.1-BestWEB.mkv
我生成的strm文件,发现里面把URL的path的路径/都转换为了%2F了,导致无法正常播放。我知道JavaScript中可以用encodeURI()来处理
希望结果为
希望作者能修复它 thanks