requests.exceptions.SSLError: HTTPSConnectionPool(host=‘www.pinterest.com’, port=443): Max retries exceeded with url: /resource/UserRegisterResource/create/ (Caused by SSLError(SSLError(1, ‘[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)’)))

标题就是这么长

90%的人可能都会出现前面的错误,通常加个time.sleep(1)减慢访问速度就行。然而百分之9的人通常会因为使用了代理而选择在系统环境中将代理设为空,或者在发送请求的时候将代理设为空,例如

os.environ["NO_PROXY"]="baidu.com, google.com"

(你需要的域名)这种或者是这种

# 代理为国外代理(就是指定代理进行访问)
proxy={"https": "https://122.148.122.111:90", "http": "http://122.148.122.111:90"}
requests.get(url, proixies=proxy)

然而我竟是那剩下1%的人。

问题描述

我的需求是必须要把电脑的代理开着。网络的配置是公司有外网环境可以上外网,但是我需要一个和公司独立的代理IP,于是开启了其他的代理工具。问题就在于开启代理工具后,一切都正常,IP也正常,各种应用都正常。就是使用requests的时候会出现标题所示错误。

一顿Google百度大法不能说毫无结果,只能说人的痛苦并不相通,唯一有类似状况的一个情况和我也似乎不太相同,去研究公司的防火墙白名单太复杂了,自己的电脑防火墙都关 了。贴个连接:为什么在系统设置中设置了代理后,自己写的python爬虫程序访问网络时还需要设置代理?

一点结果都没有,curl也是不能返回结果。最后部门经理让我试试urllib。requests就是urllib封装的,结果居然神奇的能运行,去找了一下两个库之间的区别,但是基本都只能浅层的说说大概区别是啥,完全没有我要的底层逻辑原理,想来也不会有人去研究这个,除非requests库或者相关开发底层的家伙。

感觉全球只有自己在面临这个问题的时候,也太tm痛苦了,不懂底层原理,也没有任何指导方向

算了,就这样吧!咱能跑就行~

    req = urllib.request.Request(u, headers=headers)file = urllib.request.urlopen(req, timeout=15)data = file.read().decode('iso-8859-1')

后续的更新来了。问题完全得到了解决(解决方法)

和前面的第二个方法类似,通过设置代理,来进行访问。因为本地 开启梯子后,梯子默认会把整个系统的流量指向电脑的某个端口,然后再由梯子进行接收往外转发,所以我们只需要在Python的requests请求中设置代理,即可将脚本请求转向梯子。但是这个代理并非梯子节点的代理,而是系统的代理。

打开梯子后,在设置中找到对应的代理端口(通常是10809)然后加在代码中即可。

proxy = {'http': '127.0.0.1:10809', 'https': '127.0.0.1:10809'}
r = requests.post(u, json=data, headers=headers, proxies=proxy)

搞定

你们可点个赞吧,不然以后可就遇不到这么良心分享干货的博主啦呜呜呜,猛男哭泣~

requests在电脑开启代理的情况下无法正常发送请求相关推荐

  1. 使用nginx代理的情况下获取用户真实IP

    ##1.背景知识 1.1. 前提知识点: 还有nginx中的几个变量: remote_addr 代表客户端的IP,但它的值不是由客户端提供的,而是服务端根据客户端的ip指定的,当你的浏览器访问某个网站 ...

  2. binlog数据库不写入binlog_mysql在不开启binlog的情况下导出数据库

    问题背景 上个DBA已经走了,一些mysql数据库连所在服务器的系统账户也没有,只有mysql 数据库的root账户和业务账户,准备导出数据迁移至新服务器,可是mysqldump命令却是必须开启bin ...

  3. 没有网络的计算机怎么装驱动程序,装机后电脑没有网络的情况下,驱动人生6教你首先将网卡驱动安装好...

    驱动人生6在管理驱动.更新驱动等方面给童鞋们提供了很多方便,但如果童鞋们的电脑在没联网的情况下,却不能用驱动人生6来更新电脑驱动.驱动人生的工程师们不断努力,日夜开发,带网卡版驱动人生6终于发布官网抢 ...

  4. 安卓ssr无网络连接_解决Android模拟器网络问题(使用了代理的情况下)

    没错,又是AS的网络问题,而且又是代理的问题,真是不省心呐!! 最近在做curl移植到Android JNI的工作,老是出现 CURLE_PARTIAL_FILE 错误. 用Wireshark抓包居然 ...

  5. 在电脑无法正常开机情况下如何重装系统

    电脑开机之后出现这个界面.经处理只能重装系统 第一步: 此文章是我一边在小一帮助下安装系统,一边整理.方便以后自己也能安装系统. 1.从CSDN I tell you:https://msdn.ite ...

  6. 在不开启回收站的情况下恢复Hadoop误删除文件

    这个问题其实比较严重,提前说一下结论,能恢复的只有执行删除后未删除的数据,已经删除的数据无法恢复. 什么叫执行删除后未删除的数据呢,因为hadoop执行删除时是在edits文件中添加一个标记,然后慢慢 ...

  7. UWP应用在SS代理的情况下无法访问

    Win10应用商店中UWP应用,在使用了代理服务后,无法访问网络,比如"邮件"中的Gmail访问就无法连接. 原因是因为微软让UWP应用在"沙盒"中运行,网络流 ...

  8. centos,代理的情况下,SSL handshake failed

    使用https协议或者trojan协议或者其他加密协议,或者是其他协议,如果要对流量进行加密,用ssl或者是tls,那么,在客户端的ssl选项中进行配置的时候, 如果你在ssl选项中,verify选择 ...

  9. 什么是跨域?什么情况下会发生跨域请求?

    跨域,指的是浏览器不能执行其他网站的脚本.它是由浏览器的同源策略造成的,是浏览器施加的安全限制. 同源策略:所谓同源是指:协议,域名,端口均相同.即便两个不同的域名指向同一个ip地址,也非同源. ht ...

最新文章

  1. leetcode63. Unique Paths II
  2. 手把手教你实现一个 Vue 进度条组件!
  3. Code Rally 2015 编程锦标赛启动,智能手表,iPad 大奖等你来拿!
  4. JavaScript中call()和apply()的用法及区别
  5. Java对象的创建过程
  6. AbstractListView源码分析4
  7. pg日期转周_postgresql 存储过程函数:时间戳与日期字符串相互转换
  8. OpenCV学习笔记(十二):边缘检测:Canny(),Sobel(),Laplace(),Scharr滤波器
  9. 动态后台获取_后台管理系统的权限以及vue处理权限的思路
  10. LeetCode 435 无重叠区间
  11. 未来的经销商还有哪些生意能做?
  12. 银联POS工作密钥生成
  13. python黑马视频全套-2018年6月北京黑马python24期全套视频课程
  14. ZigBee模块——从新冠、癌症防治看物联网智慧医疗的应用
  15. 合同在项目管理中的优势
  16. buctoj-python 2022.6.19
  17. 左耳听风——笔记一:如何学习
  18. 计算机远程桌面软件,手把手教你远程控制电脑软件推荐
  19. Git下载和安装步骤
  20. 一点Unity3D学习经验分享

热门文章

  1. 免费分享百度快排发包技术+原理解析【SEO内行精品资料】
  2. 用安卓手机看txt小说,哪些阅读器APP更好用?
  3. 824 Greedy Mouse
  4. python之穿越火线游戏代码_Python win32con.CF_UNICODETEXT属性代码示例
  5. 梦幻西游ps计算机,P出来的PS-《梦幻西游》电脑版 官方网站 - 网易西游题材扛鼎之作...
  6. 初识滴滴交易策略之二:司乘匹配
  7. 经典的手机短信,总有你没看过的
  8. 这篇文章告诉你三种流程图绘制方法
  9. java集群技术_什么是集群?集群?java集群技术面试的一些知识准备
  10. 手游客户端架构设计思路