- 85
- 0
当我不使用HTTPS或者使用使用别家的HTTPS代理是,都能正常,但是唯独使用这家的HTTPS时发生握手失败问题
proxies = {
'http':"http://175.172.81.174:5324",
'https':"http://175.172.81.174:5324",
}
import requests
r = requests.get("https://weibo.com/signup/signup.php",proxies=proxies,verify=False)
HTTPSConnectionPool(host='weibo.com', port=443): Max retries exceeded
with url: /signup/signup.php (Caused by SSLError(SSLError(1, u'[SSL:
UNKNOWN_PROTOCOL] unknown protocol (_ssl.c:661)'),))
当使用下面代码时,每次都能成功:
from OpenSSL import SSL
import socket
proxies = {
'http':"http://175.172.81.174:5324",
'https':"http://175.172.81.174:5324",
}
headers = """GET https://weibo.com/signup/signup.php HTTP/1.1
Host: weibo.com
Connection: keep-alive
Cache-Control: max-age=0
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.133 Safari/537.36
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Referer: https://weibo.com/
Accept-Language: zh-CN,zh;q=0.8\r\n\r\n
"""
def verify_cb(conn, cert, errun, depth, ok):
return True
server = 'weibo.com'
port = 443
PROXY_ADDR = ("175.172.81.174", 5324)
CONNECT = "CONNECT %s:%s HTTP/1.1\r\nConnection: close\r\n\r\n" % (server, port)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(PROXY_ADDR)
s.send(CONNECT)
print s.recv(4096)
ctx = SSL.Context(SSL.TLSv1_METHOD)
ctx.set_verify(SSL.VERIFY_PEER, verify_cb)
ss = SSL.Connection(ctx, s)
ss.set_connect_state()
ss.do_handshake()
cert = ss.get_peer_certificate()
print cert.get_subject()
ss.send(headers)
print ss.recv(3000)
ss.shutdown()
ss.close()
有办法让Requests正常使用这个代理IP吗,如果你愿意帮我测试,请提供给我你的IP,因为使用这个代理前需要授权
- 共 0 条
- 全部回答
-
迊颩、榌舞 普通会员 1楼
在Python中使用requests库进行HTTPS请求时,如果遇到连接一个收费HTTPS代理IP失败的问题,可以尝试以下几种解决方法:
-
检查代理IP的稳定性:有时候,代理IP的网络环境可能不稳定,导致请求无法成功。此时,可以尝试更换代理IP,或者增加代理IP的数量。
-
使用代理IP池:如果你有一个代理IP池,可以将请求放入池中,等待池中有可用的代理IP时再进行请求。这样可以减少因代理IP问题导致的请求失败。
-
使用代理库:Python有一个叫做requests代理库的库,可以方便地使用代理IP进行HTTP请求。可以尝试使用这个库进行请求。
-
检查网络环境:检查网络环境是否稳定,包括服务器的IP、端口、网络速度等。
-
使用第三方工具:如果以上方法都无法解决问题,可以尝试使用第三方工具进行诊断和优化,如fiddler、Wireshark等。
在进行HTTP请求时,需要注意以下几点:
-
确保请求的URL是正确的,否则可能会引发错误。
-
使用正确的HTTP方法(如GET、POST、PUT等),例如使用POST方法发送表单数据。
-
对请求的头部和体进行正确的设置,例如设置请求头的Content-Type和Authorization等。
-
对请求的URL进行适当的编码,避免因编码问题导致的错误。
-
对请求进行错误处理,当请求失败时,可以进行适当的处理,例如打印错误信息等。
-
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
