文件下载url中存在../的情况

废话不多说,上代码

import urllib2
import urllib
url = "http://www.wayos.com/../Upfiles/down/WAP_3048-18.07.04V.trx"
req = urllib2.urlopen(url, timeout=60)
try:
    urllib.urlretrieve(url, filePath)
except Exception, e:
    print e.message

遇到过此问题的小伙伴知道上述代码在文件下载的时候存在问题的

如何修改呢?

(1)方法一:

我试了下,直接删除../,就是将url转换为http://www.wayos.com/Upfiles/down/WAP_3048-18.07.04V.trx

之后也是能够正常下载和执行的,结果一样,小编这里不是很明白了,../这不是返回到上一层目录吗?

(2)方法二:

进行特殊字符转义呗将..转化为\.\.然后就一切ok了。

添加了一个转化的函数,就一切OK了。

import urllib2
import urllib

def url_deal(url):
    '''处理类类似于http://www.wayos.com/../Upfiles/down/WAP_3048-18.07.04V.trx链接不能下载的问题'''
    if "/../" in url:
        url = url.replace('/../','/\.\./')
    return url

url = "http://www.wayos.com/../Upfiles/down/WAP_3048-18.07.04V.trx"
url = url_deal(url)
req = urllib2.urlopen(url, timeout=60)
try:
    urllib.urlretrieve(url, filePath)
except Exception, e:
    print e.message

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值