吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 440|回复: 8
收起左侧

[求助] Python调用API报错 SSL Max retries exceeded with _ssl.c:1129

  [复制链接]
Suzie 发表于 2024-7-29 01:54
主程序是调用PUBG的API来获取玩家数据,脚本没有用到代{过}{滤}理,偶尔会出现以下报错信息
我的程序代码:

import requests
from datetime import datetime, timedelta
from PIL import Image, ImageDraw, ImageFont
import sys
import os
import requests
from PIL import Image
from io import BytesIO
import requests.exceptions

player_id = sys.argv[1] if len(sys.argv) > 1 else ""
headers = {
    "Authorization": "Bearer api key",
    "Accept": "application/vnd.api+json"
}
def get_player_data(player_id):
    url = f"https://api.pubg.com/shards/steam/players?filter[playerNames]={player_id}"
    try:
        response = requests.get(url, headers=headers)
    except requests.exceptions.RequestException as e:
        print(f"error:{e}")
        sys.exit(3)
    if response.status_code == 429:
        sys.exit(2)
    elif response.status_code in [400, 404]:
        sys.exit(1)
    else:
        data = response.json()
        ban_type = data['data'][0]['attributes']['banType'] if 'data' in data and data['data'] else None
        account_id = data['data'][0]['id'] if 'data' in data and data['data'] else None
        return data, ban_type, account_id

环境:
C:\Users\Administrator\AppData\Local\Programs\Python\Python39\python.exe
OS Windows-2012ServerR2-6.3.9600-SP0
Python 3.9.13
OpenSSL 1.1.1n  15 Mar 2022
urllib3 1.25.11

错误信息:
HTTPSConnectionPool(host='api.pubg.com', port=443):
Max retries exceeded with url: /shards/steam/players?filter%5BplayerNames%5D=Dai
lyMidv_x (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protoc
ol (_ssl.c:1129)')))

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

你好,再见 发表于 2024-7-29 03:55
国际网站总会有点干扰,晚上出现会更加频繁
Do_zh 发表于 2024-7-29 08:46
milu1123 发表于 2024-7-29 08:48
wfghim 发表于 2024-7-29 09:05
应该是开启了抓包程序就报这个错。关闭抓包程序才行
xqdyan 发表于 2024-7-29 09:05
可以增加黑色加粗部分response = requests.get(url, headers=headers , verify=False)
或者用session()请求
response = requests.session()
gentxq 发表于 2024-7-29 09:10
1. 尝试关闭代{过}{滤}理
2. 或者,verify参数设置为False
import requests
res = requests.get(url="https://www.xxxxx.com",verify=False)  #不验证证书,报警告,返回200
print(res.content.decode("utf-8"))
3. 或者,忽略SSL认证
import requests,warnings
from requests.packages import urllib3
urllib3.disable_warnings()
warnings.filterwarnings("ignore")
 楼主| Suzie 发表于 2024-7-29 12:30
Do_zh 发表于 2024-7-29 08:46
verify=False 这个试试。

这个我试过感觉是可以的,但是关闭ssl验证会不会出问题
 楼主| Suzie 发表于 2024-7-29 12:34
xqdyan 发表于 2024-7-29 09:05
可以增加黑色加粗部分response = requests.get(url, headers=headers , verify=False)
或者用session()请 ...

session()请求效果怎么样
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-12-15 17:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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