【已解决】requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘huggingface.co 2’, port=443): Ma

问题描述

类似的问题文字描述如下:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host=‘huggingface.co 2’, port=443): Max retries exceeded with url: /api/whoami-v2 (Caused by NewConnectionError(’<urllib3.connection.HTTPSConnection object at 0x7f54241c0520>: Failed to establish a new connection: [Errno -2] Name or service not known’))


MaxRetryError: HTTPConnectionPool(host='127.0.0.1', port=51379): Max retries exceeded with url: /session/2e64d2a1-3c7f-4221-96fe-9d0b1c102195/window (Caused by ProtocolError('Connection aborted.', error(111, 'Connection refused')))

原因分析

        这是一个很常见的问题,其实就是连不上huggingface,没有办法与huggingface建立网络链接,这个的解决问题看起来是很好解决的。

解决办法

        第一种办法,用代理服务器

        这个教程比较多,由于平台限制无法展开。

        ok,一般来说到这,再次执行程序就解决了,但有的就还不行,再次执行程序依然会报错

         第二种办法,使用proxychains来强制使用指定代理

        能想到这种办法是因为在代码里能给的模型走代理是可以拉取到的,但是代码却没有拉取到,说明代码是没用走代理的,这个时候我们只需要强制让代码走指定代理就可以了,而这个就要用到linux下的全局代理工具proxychain。

        第一步,下载安装proxychains
sudo apt-get install -y proxychains
        第二步,配置proxychains 

sudo vim /etc/proxychains.conf

or

sudo vi /etc/proxychains.conf

        配置信息根据自己情况进行配置即可 

#        Examples:
#
#               socks5  192.168.67.78   1080    lamer   secret
#               http    192.168.89.3    8080    justu   hidden
#               socks4  192.168.1.49    1080
#               http    192.168.39.93   8080 

我第一次配置的是

        socks4 127.0.0.1 7890

第二次配置的是

        http 192.168.117.180 7890

        配置信息如图: 

        但是需要注意的是,如果按照第二种配置方式,则需要打开的Allow LAN,第一种配置方式则是不需要也可以正常运行的。(在这里也无法放整图,按指示即可查看到:clah->general->Allow LAN->打开开关就可以了

        第三步,执行python文件,这个时候需要在命令行前加proxychains 
proxychains python inference.py --cfg configs/config.yaml --ckpt checkpoints/laion10M_epoch_6_model_ema_only.ckpt --save_path generated_images --glyph_instructions glyph_instructions.yaml  --num_samples 4

后记

        提问1:为什么可以用socks ?

HTTP代理和SOCKS代理都是常见的代理服务,主要划分依据为根据协议的不同而进行划分的;本文我们就为大家解答一下什么是HTTP代理和SOCKS代理,以及他们的区别是什么?

HTTP代理——全称为【HyperText Transfer Protocol代理】,是一种基于HTTP协议的代理服务器。 它主要用于HTTP请求的转发和缓存,能够解析HTTP报文,并根据请求的目标URL进行相应的转发。 HTTP代理可以根据客户端的请求进行过滤、修改或拦截,允许或禁止特定的访问请求。 由于其基于HTTP协议,HTTP代理主要应用于Web浏览器的代理设置,使得浏览器可以通过代理服务器访问互联网资源。

SOCKS代理——全称为【SOCKS(Socket Secure)代理】,是一种通用的代理协议,不限于特定的应用层协议。它可以处理任何类型的网络流量,包括HTTP、FTP、SMTP等等。SOCKS代理主要工作在传输层,通过建立TCP或UDP连接,将客户端的请求传递给目标服务器。SOCKS代理不解析或修改传输的数据,只是起到中转的作用,将请求和响应直接传递给客户端和服务器之间的连接。

从功能和应用场景上来看,HTTP代理更加适用于Web浏览器的代理设置。它可以进行高级的Web过滤和内容控制,允许或禁止特定的URL或域名访问,实现网页内容的过滤和访问控制。同时,HTTP代理还可以提供缓存功能,减少网络流量和提高访问速度。因此,在需要对Web浏览器的请求进行精细控制和优化的情况下,HTTP代理是一个较好的选择。

而SOCKS代理则更加通用和灵活。它适用于各种应用程序的代理设置,可以处理不同协议的网络流量。SOCKS代理可以实现全局的代理设置,使得所有的应用程序都能通过代理服务器进行访问,无需单独设置每个应用程序的代理参数。对于一些需要通过代理服务器实现隧道连接或跨越防火墙的应用场景,SOCKS代理是一个较为合适的选择。

        所以根据这样来说,我的第一种配置方法是完全可以的,在实际执行中也是可以下载的,也就是可以连接huggingface并执行下载任务。 

        提问2:为什么要用打开的Allow LAN?

        我们先来看的Allow LAN是干什么的和使用方法

        观察上面的图我们就能看出来,配置的代理路径是我们在局域网下的ip地址,所以对于代理软件来说,必须允许局域网,否则可能无法映射到。

        这样看来这个原因就比较说的过去了,但同时也解释了为什么socks配置127.0.0.1但不用打开的Allow LAN也能work了,因为配置的环回地址不仅仅在局域网才有用嘛。

完结撒花

        人一旦脑子里装着星辰大海,就很难被世俗的快乐满足。        

  • 21
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
requests.exceptions.ProxyError: httpsconnectionpool(host='huggingface.co', port=443): max retries exceeded with url: /api/datasets/tasks/huggingface:translate (Caused by ProxyError('Cannot connect to proxy.', OSError('Tunnel connection failed: 503 Service Unavailable'))) 该错误是由于使用的代理服务器出现问题导致的。在使用requests库时,可以选择使用代理服务器来发送请求。然而,当连接到指定的代理服务器时遇到问题,就会出现ProxyError。 在这种特定情况下,错误消息表明无法连接到代理服务器。一个可能的原因是代理服务器无法正常工作,或者由于某种原因无法提供服务。这可能是由于代理服务器正在进行维护、过载或出现故障等原因引起的。 要解决这个问题,可以尝试以下几个步骤: 1. 检查代理服务器是否正常工作。可以尝试使用其他工具或浏览器连接到代理服务器,确保它能够正常提供服务。 2. 如果代理服务器不可用或无法正常工作,可以尝试使用其他可用的代理服务器。 3. 如果您不需要使用代理服务器,可以尝试在代码中禁用代理设置,通过设置proxies参数为None或空字典来实现。 4. 如果您的代码中指定了代理设置,确保其正确配置。检查代理服务器的地址、端口和验证信息是否正确。 总之,requests.exceptions.ProxyError是由于无法连接到代理服务器而引起的。您可以通过检查代理服务器是否可用,或者尝试禁用代理设置来解决此问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值