Python3 怎样将下载链接转成文字 50

就是链接上没有拓展名如,jpg.rar之类的,如http://www.zei8.net/plus/download.php?open=2&id=71758&uhash=9... 就是链接上没有拓展名如 ,jpg .rar之类的 ,如http://www.zei8.net/plus/download.php?open=2&id=71758&uhash=9ba7075e685a0e4a4ab71803 怎样将他变为文件,就具体代码或者方法
urllib.urlretrieve() 已经使用过
展开
 我来答
大话残剑
2015-11-14 · TA获得超过2217个赞
知道大有可为答主
回答量:1137
采纳率:56%
帮助的人:712万
展开全部

我只能说这是一个Python3.4以上版本的bug,至今还没有在版本中解决。

具体情况可以查下issue17214

Title: http.client.HTTPConnection.putrequest encode  error
Type:behavior    

Stage:patch review    

Components:Library (Lib)    

Versions:Python 3.6, Python 3.5, Python 3.4    


不过幸运的是已经给出了Patch,可以自行修改,修改方法如下:

diff --git a/Lib/http/client.py b/Lib/http/client.py
--- a/Lib/http/client.py
+++ b/Lib/http/client.py
@@ -263,6 +263,7 @@
         headers.append(line)
         if line in (b'\r\n', b'\n', b''):
             break
+    print(headers)
     hstring = b''.join(headers).decode('iso-8859-1')
     return email.parser.Parser(_class=_class).parsestr(hstring)
 
diff --git a/Lib/urllib/request.py b/Lib/urllib/request.py
--- a/Lib/urllib/request.py
+++ b/Lib/urllib/request.py
@@ -652,11 +652,13 @@
                 "%s - Redirection to url '%s' is not allowed" % (msg, newurl),
                 headers, fp)
 
-        if not urlparts.path:
-            urlparts = list(urlparts)
-            urlparts[2] = "/"
-        newurl = urlunparse(urlparts)
-
+        urlpartslist = list(urlparts)
+        path = urlparts.path if urlpaths.path else "/"
+        # parse_headers() decodes from iso-8859-1 and unquotes, undo damage
+        path = urlparts.path.encode("iso-8859-1")
+        urlpartslist[2] = quote(path)
+
+        newurl = urlunparse(urlpartslist)
         newurl = urljoin(req.full_url, newurl)
 
         # XXX Probably want to forget about the state of the current
logo在线生成器
2024-10-23 广告
燕雀零一专业logo生成器,是一家科技型的设计公司,团队深耕企业品牌设计服务已有十余年,已助力多家企业塑造其品牌形象及体验,服务内容含:LOGO设计/VI设计/产品包装设计/导视店面门头及空间设计,吉祥物设计/海报设计等。 我们的目标是帮助... 点击进入详情页
本回答由logo在线生成器提供
mieyoubeizhuce
2015-11-13 · TA获得超过610个赞
知道小有建树答主
回答量:733
采纳率:100%
帮助的人:474万
展开全部

urllib.urlretrieve()方法,下载文件用

不要追问我怎么用,用种东西叫文档

url = "

urllib.urlretrieve(url, '1.rar')
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式