吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 1151|回复: 16
收起左侧

[求助] 学习python图片下载报错ssl.SSLError,请教怎么解决

[复制链接]
znjlsw 发表于 2022-9-26 10:04
image.png

执行request.urlretrieve下载图片的时候成功几次后总会报这个错误,但是在朋友的电脑上就不会报这个错误,不知道为啥,求大佬指教。
底下是所有的代码。
image.png

代码截图

代码截图
forum.png

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

小洲 发表于 2022-9-26 10:26
头部加
[Python] 纯文本查看 复制代码
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

请求加
[Python] 纯文本查看 复制代码
info = requests.get(url=url,timeout=10, verify=False, allow_redirects=False)
 楼主| znjlsw 发表于 2022-9-26 11:24
小洲 发表于 2022-9-26 10:26
头部加
[mw_shl_code=python,true]import requests
from requests.packages.urllib3.exceptions import I ...

import requests  #Python向服务器发起网络请求
from lxml import etree
import time
from urllib import request
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

url = 'https://www.huya.com/g/2168'

result = requests.get(url=url, timeout=10, verify=False, allow_redirects=False).text
data = etree.HTML(result)
demo = data.xpath("//@data-original")
for  i  in demo:
    newUrl = i
    # print(newUrl)
    if 'http' in newUrl:
        # print('存在')
        if '?' in newUrl:
            newUrlList = newUrl.split('?')
            newUrl = newUrlList[0]
    else:
        print('不存在')
        continue
    print(newUrl)
    request.urlretrieve(newUrl,r'./huya/' + str(round(time.time() * 1000)) + '.jpg')
    print("<%s>下载完毕!" %  (str(round(time.time() * 1000)) + '.jpg'))


代码改成这个样子了 但是还是跟之前一样会报这个错:ssl.SSLError: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:2536)。
Prozacs 发表于 2022-9-26 11:32
znjlsw 发表于 2022-9-26 11:24
import requests  #Python向服务器发起网络请求
from lxml import etree
import time

换个网络热点
hanzj06 发表于 2022-9-26 11:38
你电脑设置了代{过}{滤}理?
 楼主| znjlsw 发表于 2022-9-26 11:41
hanzj06 发表于 2022-9-26 11:38
你电脑设置了代{过}{滤}理?

应该是没有 但是我放在另个一朋友电脑上跑就不会有这个报错,而且他也没有加什么代{过}{滤}理。
 楼主| znjlsw 发表于 2022-9-26 11:48

换过了  公司里最快的wifi了  而且同事跟我在同一个wifi他电脑能跑
hanzj06 发表于 2022-9-26 11:49
znjlsw 发表于 2022-9-26 11:41
应该是没有 但是我放在另个一朋友电脑上跑就不会有这个报错,而且他也没有加什么代{过}{滤}理。

本地不能设置代{过}{滤}理,包括你抓包软件;如果设置了代{过}{滤}理,python的requests请求里也要加上代{过}{滤}理部分的代码,类似这种
[Python] 纯文本查看 复制代码
proxies={"http": "127.0.0.1"}
response = requests.get(url=url, proxies=proxies)
tianyagd 发表于 2022-9-26 11:51
verify=False 加这个参数
 楼主| znjlsw 发表于 2022-9-26 11:53
tianyagd 发表于 2022-9-26 11:51
verify=False 加这个参数

from lxml import etree
import time
from urllib import request
import requests
from requests.packages.urllib3.exceptions import InsecureRequestWarning
requests.packages.urllib3.disable_warnings(InsecureRequestWarning)

url = 'https://www.huya.com/g/2168'
result = requests.get(url=url, timeout=10, verify=False, allow_redirects=False).text
data = etree.HTML(result)
demo = data.xpath("//@data-original")
for  i  in demo:
    newUrl = i
    # print(newUrl)
    if 'http' in newUrl:
        # print('存在')
        if '?' in newUrl:
            newUrlList = newUrl.split('?')
            newUrl = newUrlList[0]
    else:
        print('不存在')
        continue
    print(newUrl)
    request.urlretrieve(newUrl,r'./huya/' + str(round(time.time() * 1000)) + '.jpg')
    print("<%s>下载完毕!" %  (str(round(time.time() * 1000)) + '.jpg'))
这是现在的代码 已经添加了 verify=false 还是会报错

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 06:39

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表