- 新增websocket客户端和服务端实现 - 添加图片压缩工具和快速压缩脚本 - 实现学生信息处理相关API - 添加MQTT客户端和消息处理功能 - 更新.gitignore忽略更多文件类型 - 添加数据库操作工具和示例 - 实现多个测试脚本和工具类
34 KiB
34 KiB
In [1]:
import telnetlibC:\Users\Administrator\AppData\Local\Temp\ipykernel_29352\3305242955.py:1: DeprecationWarning: 'telnetlib' is deprecated and slated for removal in Python 3.13 import telnetlib
In [10]:
flag = False
try:
with telnetlib.Telnet("192.168.0.166", "161", timeout=1):
print("端口5411被占用")
except Exception as e:
print(e)
print("端口5411可用")timed out 端口5411可用
In [ ]:
1619434628
In [2]:
from pysnmp.hlapi import *
def get_connected_macs(interface_index):
# 1. 获取FDB表中该接口学习到的MAC
error_indication, error_status, _, var_binds = next(
getCmd(SnmpEngine(),
CommunityData('zabbix'),
UdpTransportTarget(('192.168.0.112', 161)),
ContextData(),
ObjectType(ObjectIdentity('BRIDGE-MIB', 'dot1dTpFdbPort', interface_index)))
)
# 2. 提取MAC地址列表
mac_list = []
if not error_indication and not error_status:
for var_bind in var_binds:
mac = str(var_bind[1]).replace(' ', ':') # 转换MAC格式
mac_list.append(mac)
return mac_list
# 测试获取索引1接口(GigabitEthernet1/0/1)连接的设备
print(get_connected_macs(1))
# 可能输出: ['F8:38:8D:CF:7E:1A', '00:11:22:33:44:55'] [1;31m---------------------------------------------------------------------------[0m [1;31mNameError[0m Traceback (most recent call last) Cell [1;32mIn[2], line 22[0m [0;32m 19[0m [38;5;28;01mreturn[39;00m mac_list [0;32m 21[0m [38;5;66;03m# 测试获取索引1接口(GigabitEthernet1/0/1)连接的设备[39;00m [1;32m---> 22[0m [38;5;28mprint[39m(get_connected_macs([38;5;241m1[39m)) Cell [1;32mIn[2], line 6[0m, in [0;36mget_connected_macs[1;34m(interface_index)[0m [0;32m 3[0m [38;5;28;01mdef[39;00m [38;5;21mget_connected_macs[39m(interface_index): [0;32m 4[0m [38;5;66;03m# 1. 获取FDB表中该接口学习到的MAC[39;00m [0;32m 5[0m error_indication, error_status, _, var_binds [38;5;241m=[39m [38;5;28mnext[39m( [1;32m----> 6[0m getCmd(SnmpEngine(), [0;32m 7[0m CommunityData([38;5;124m'[39m[38;5;124mzabbix[39m[38;5;124m'[39m), [0;32m 8[0m UdpTransportTarget(([38;5;124m'[39m[38;5;124m192.168.0.112[39m[38;5;124m'[39m, [38;5;241m161[39m)), [0;32m 9[0m ContextData(), [0;32m 10[0m ObjectType(ObjectIdentity([38;5;124m'[39m[38;5;124mBRIDGE-MIB[39m[38;5;124m'[39m, [38;5;124m'[39m[38;5;124mdot1dTpFdbPort[39m[38;5;124m'[39m, interface_index))) [0;32m 11[0m ) [0;32m 13[0m [38;5;66;03m# 2. 提取MAC地址列表[39;00m [0;32m 14[0m mac_list [38;5;241m=[39m [] [1;31mNameError[0m: name 'getCmd' is not defined
In [2]:
'1' in {'1': 'GigabitEthernet1/0/1', '2': 'GigabitEthernet1/0/2', '3': 'GigabitEthernet1/0/3', '4': 'GigabitEthernet1/0/4', '5': 'GigabitEthernet1/0/5', '6': 'GigabitEthernet1/0/6', '7': 'GigabitEthernet1/0/7', '8': 'GigabitEthernet1/0/8', '9': 'GigabitEthernet1/0/9', '10': 'GigabitEthernet1/0/10', '716': 'NULL0', '717': 'InLoopBack0', '719': 'Vlan-interface1'}Out [2]:
True
In [7]:
from pysnmp.hlapi import *
def snmp_walk(host, oid, format='str', strip_prefix=True, community='zabbix'):
res = {}
# 使用正确的 nextCmd 函数
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData(community),
UdpTransportTarget((host, 161), timeout=4.0, retries=3),
ContextData(),
ObjectType(ObjectIdentity(oid)),
lookupMib=False,
lexicographicMode=False):
if errorIndication:
raise ConnectionError(f'SNMP error: "{str(errorIndication)}". Status={str(errorStatus)}')
elif errorStatus:
raise ConnectionError(f'SNMP error: "{str(errorStatus)}" at index {str(errorIndex)}')
else:
for varBind in varBinds:
oid_str = str(varBind[0])
value = varBind[1]
# 如果指定了去除前缀
if strip_prefix:
oid_str = oid_str.replace(oid, '', 1).lstrip('.')
# 根据格式处理值
if format == 'hex':
res[oid_str] = value.asOctets().hex()
elif format == 'str':
res[oid_str] = str(value)
else:
res[oid_str] = value
return resIn [1]:
from requests import post,get
# post("https://szihj.idsp.yunxiao.com/Open/Access/GetToken?corpId=869376250979578017&corpSecret=GQSYGTLMKNJHVLHZMHYDMHATIGTTOBYP").textIn [ ]:
post("http://127.0.0.1:8100/door/tongtong/log",json={'lockId': '8686987', 'notifyType': '1', 'records': '[{"lockId":8686987,"electricQuantity":100,"serverDate":1758100706693,"recordTypeFromLock":17,"recordType":7,"success":1,"lockMac":"FD:15:3A:7E:D1:E2","keyboardPwd":"3157220353","lockDate":1758100692000,"username":"夏天乐带0"}]', 'admin': 'xtlft@qq.com', 'lockMac': 'FD:15:3A:7E:D1:E2'}).json()[1;31m---------------------------------------------------------------------------[0m [1;31mConnectionRefusedError[0m Traceback (most recent call last) File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connection.py:196[0m, in [0;36mHTTPConnection._new_conn[1;34m(self)[0m [0;32m 195[0m [38;5;28;01mtry[39;00m: [1;32m--> 196[0m sock [38;5;241m=[39m connection[38;5;241m.[39mcreate_connection( [0;32m 197[0m ([38;5;28mself[39m[38;5;241m.[39m_dns_host, [38;5;28mself[39m[38;5;241m.[39mport), [0;32m 198[0m [38;5;28mself[39m[38;5;241m.[39mtimeout, [0;32m 199[0m source_address[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39msource_address, [0;32m 200[0m socket_options[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39msocket_options, [0;32m 201[0m ) [0;32m 202[0m [38;5;28;01mexcept[39;00m socket[38;5;241m.[39mgaierror [38;5;28;01mas[39;00m e: File [1;32md:\Anaconda3\Lib\site-packages\urllib3\util\connection.py:85[0m, in [0;36mcreate_connection[1;34m(address, timeout, source_address, socket_options)[0m [0;32m 84[0m [38;5;28;01mtry[39;00m: [1;32m---> 85[0m [38;5;28;01mraise[39;00m err [0;32m 86[0m [38;5;28;01mfinally[39;00m: [0;32m 87[0m [38;5;66;03m# Break explicitly a reference cycle[39;00m File [1;32md:\Anaconda3\Lib\site-packages\urllib3\util\connection.py:73[0m, in [0;36mcreate_connection[1;34m(address, timeout, source_address, socket_options)[0m [0;32m 72[0m sock[38;5;241m.[39mbind(source_address) [1;32m---> 73[0m sock[38;5;241m.[39mconnect(sa) [0;32m 74[0m [38;5;66;03m# Break explicitly a reference cycle[39;00m [1;31mConnectionRefusedError[0m: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 The above exception was the direct cause of the following exception: [1;31mNewConnectionError[0m Traceback (most recent call last) File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connectionpool.py:789[0m, in [0;36mHTTPConnectionPool.urlopen[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)[0m [0;32m 788[0m [38;5;66;03m# Make the request on the HTTPConnection object[39;00m [1;32m--> 789[0m response [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39m_make_request( [0;32m 790[0m conn, [0;32m 791[0m method, [0;32m 792[0m url, [0;32m 793[0m timeout[38;5;241m=[39mtimeout_obj, [0;32m 794[0m body[38;5;241m=[39mbody, [0;32m 795[0m headers[38;5;241m=[39mheaders, [0;32m 796[0m chunked[38;5;241m=[39mchunked, [0;32m 797[0m retries[38;5;241m=[39mretries, [0;32m 798[0m response_conn[38;5;241m=[39mresponse_conn, [0;32m 799[0m preload_content[38;5;241m=[39mpreload_content, [0;32m 800[0m decode_content[38;5;241m=[39mdecode_content, [0;32m 801[0m [38;5;241m*[39m[38;5;241m*[39mresponse_kw, [0;32m 802[0m ) [0;32m 804[0m [38;5;66;03m# Everything went great![39;00m File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connectionpool.py:495[0m, in [0;36mHTTPConnectionPool._make_request[1;34m(self, conn, method, url, body, headers, retries, timeout, chunked, response_conn, preload_content, decode_content, enforce_content_length)[0m [0;32m 494[0m [38;5;28;01mtry[39;00m: [1;32m--> 495[0m conn[38;5;241m.[39mrequest( [0;32m 496[0m method, [0;32m 497[0m url, [0;32m 498[0m body[38;5;241m=[39mbody, [0;32m 499[0m headers[38;5;241m=[39mheaders, [0;32m 500[0m chunked[38;5;241m=[39mchunked, [0;32m 501[0m preload_content[38;5;241m=[39mpreload_content, [0;32m 502[0m decode_content[38;5;241m=[39mdecode_content, [0;32m 503[0m enforce_content_length[38;5;241m=[39menforce_content_length, [0;32m 504[0m ) [0;32m 506[0m [38;5;66;03m# We are swallowing BrokenPipeError (errno.EPIPE) since the server is[39;00m [0;32m 507[0m [38;5;66;03m# legitimately able to close the connection after sending a valid response.[39;00m [0;32m 508[0m [38;5;66;03m# With this behaviour, the received response is still readable.[39;00m File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connection.py:398[0m, in [0;36mHTTPConnection.request[1;34m(self, method, url, body, headers, chunked, preload_content, decode_content, enforce_content_length)[0m [0;32m 397[0m [38;5;28mself[39m[38;5;241m.[39mputheader(header, value) [1;32m--> 398[0m [38;5;28mself[39m[38;5;241m.[39mendheaders() [0;32m 400[0m [38;5;66;03m# If we're given a body we start sending that in chunks.[39;00m File [1;32md:\Anaconda3\Lib\http\client.py:1331[0m, in [0;36mHTTPConnection.endheaders[1;34m(self, message_body, encode_chunked)[0m [0;32m 1330[0m [38;5;28;01mraise[39;00m CannotSendHeader() [1;32m-> 1331[0m [38;5;28mself[39m[38;5;241m.[39m_send_output(message_body, encode_chunked[38;5;241m=[39mencode_chunked) File [1;32md:\Anaconda3\Lib\http\client.py:1091[0m, in [0;36mHTTPConnection._send_output[1;34m(self, message_body, encode_chunked)[0m [0;32m 1090[0m [38;5;28;01mdel[39;00m [38;5;28mself[39m[38;5;241m.[39m_buffer[:] [1;32m-> 1091[0m [38;5;28mself[39m[38;5;241m.[39msend(msg) [0;32m 1093[0m [38;5;28;01mif[39;00m message_body [38;5;129;01mis[39;00m [38;5;129;01mnot[39;00m [38;5;28;01mNone[39;00m: [0;32m 1094[0m [0;32m 1095[0m [38;5;66;03m# create a consistent interface to message_body[39;00m File [1;32md:\Anaconda3\Lib\http\client.py:1035[0m, in [0;36mHTTPConnection.send[1;34m(self, data)[0m [0;32m 1034[0m [38;5;28;01mif[39;00m [38;5;28mself[39m[38;5;241m.[39mauto_open: [1;32m-> 1035[0m [38;5;28mself[39m[38;5;241m.[39mconnect() [0;32m 1036[0m [38;5;28;01melse[39;00m: File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connection.py:236[0m, in [0;36mHTTPConnection.connect[1;34m(self)[0m [0;32m 235[0m [38;5;28;01mdef[39;00m [38;5;21mconnect[39m([38;5;28mself[39m) [38;5;241m-[39m[38;5;241m>[39m [38;5;28;01mNone[39;00m: [1;32m--> 236[0m [38;5;28mself[39m[38;5;241m.[39msock [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39m_new_conn() [0;32m 237[0m [38;5;28;01mif[39;00m [38;5;28mself[39m[38;5;241m.[39m_tunnel_host: [0;32m 238[0m [38;5;66;03m# If we're tunneling it means we're connected to our proxy.[39;00m File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connection.py:211[0m, in [0;36mHTTPConnection._new_conn[1;34m(self)[0m [0;32m 210[0m [38;5;28;01mexcept[39;00m [38;5;167;01mOSError[39;00m [38;5;28;01mas[39;00m e: [1;32m--> 211[0m [38;5;28;01mraise[39;00m NewConnectionError( [0;32m 212[0m [38;5;28mself[39m, [38;5;124mf[39m[38;5;124m"[39m[38;5;124mFailed to establish a new connection: [39m[38;5;132;01m{[39;00me[38;5;132;01m}[39;00m[38;5;124m"[39m [0;32m 213[0m ) [38;5;28;01mfrom[39;00m [38;5;21;01me[39;00m [0;32m 215[0m [38;5;66;03m# Audit hooks are only available in Python 3.8+[39;00m [1;31mNewConnectionError[0m: <urllib3.connection.HTTPConnection object at 0x0000023A69EC9B80>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。 The above exception was the direct cause of the following exception: [1;31mMaxRetryError[0m Traceback (most recent call last) File [1;32md:\Anaconda3\Lib\site-packages\requests\adapters.py:589[0m, in [0;36mHTTPAdapter.send[1;34m(self, request, stream, timeout, verify, cert, proxies)[0m [0;32m 588[0m [38;5;28;01mtry[39;00m: [1;32m--> 589[0m resp [38;5;241m=[39m conn[38;5;241m.[39murlopen( [0;32m 590[0m method[38;5;241m=[39mrequest[38;5;241m.[39mmethod, [0;32m 591[0m url[38;5;241m=[39murl, [0;32m 592[0m body[38;5;241m=[39mrequest[38;5;241m.[39mbody, [0;32m 593[0m headers[38;5;241m=[39mrequest[38;5;241m.[39mheaders, [0;32m 594[0m redirect[38;5;241m=[39m[38;5;28;01mFalse[39;00m, [0;32m 595[0m assert_same_host[38;5;241m=[39m[38;5;28;01mFalse[39;00m, [0;32m 596[0m preload_content[38;5;241m=[39m[38;5;28;01mFalse[39;00m, [0;32m 597[0m decode_content[38;5;241m=[39m[38;5;28;01mFalse[39;00m, [0;32m 598[0m retries[38;5;241m=[39m[38;5;28mself[39m[38;5;241m.[39mmax_retries, [0;32m 599[0m timeout[38;5;241m=[39mtimeout, [0;32m 600[0m chunked[38;5;241m=[39mchunked, [0;32m 601[0m ) [0;32m 603[0m [38;5;28;01mexcept[39;00m (ProtocolError, [38;5;167;01mOSError[39;00m) [38;5;28;01mas[39;00m err: File [1;32md:\Anaconda3\Lib\site-packages\urllib3\connectionpool.py:843[0m, in [0;36mHTTPConnectionPool.urlopen[1;34m(self, method, url, body, headers, retries, redirect, assert_same_host, timeout, pool_timeout, release_conn, chunked, body_pos, preload_content, decode_content, **response_kw)[0m [0;32m 841[0m new_e [38;5;241m=[39m ProtocolError([38;5;124m"[39m[38;5;124mConnection aborted.[39m[38;5;124m"[39m, new_e) [1;32m--> 843[0m retries [38;5;241m=[39m retries[38;5;241m.[39mincrement( [0;32m 844[0m method, url, error[38;5;241m=[39mnew_e, _pool[38;5;241m=[39m[38;5;28mself[39m, _stacktrace[38;5;241m=[39msys[38;5;241m.[39mexc_info()[[38;5;241m2[39m] [0;32m 845[0m ) [0;32m 846[0m retries[38;5;241m.[39msleep() File [1;32md:\Anaconda3\Lib\site-packages\urllib3\util\retry.py:519[0m, in [0;36mRetry.increment[1;34m(self, method, url, response, error, _pool, _stacktrace)[0m [0;32m 518[0m reason [38;5;241m=[39m error [38;5;129;01mor[39;00m ResponseError(cause) [1;32m--> 519[0m [38;5;28;01mraise[39;00m MaxRetryError(_pool, url, reason) [38;5;28;01mfrom[39;00m [38;5;21;01mreason[39;00m [38;5;66;03m# type: ignore[arg-type][39;00m [0;32m 521[0m log[38;5;241m.[39mdebug([38;5;124m"[39m[38;5;124mIncremented Retry for (url=[39m[38;5;124m'[39m[38;5;132;01m%s[39;00m[38;5;124m'[39m[38;5;124m): [39m[38;5;132;01m%r[39;00m[38;5;124m"[39m, url, new_retry) [1;31mMaxRetryError[0m: HTTPConnectionPool(host='127.0.0.1', port=8100): Max retries exceeded with url: /door/tongtong/log (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000023A69EC9B80>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。')) During handling of the above exception, another exception occurred: [1;31mConnectionError[0m Traceback (most recent call last) Cell [1;32mIn[5], line 1[0m [1;32m----> 1[0m post([38;5;124m"[39m[38;5;124mhttp://127.0.0.1:8100/door/tongtong/log[39m[38;5;124m"[39m,json[38;5;241m=[39m{[38;5;124m'[39m[38;5;124mlockId[39m[38;5;124m'[39m: [38;5;124m'[39m[38;5;124m8686987[39m[38;5;124m'[39m, [38;5;124m'[39m[38;5;124mnotifyType[39m[38;5;124m'[39m: [38;5;124m'[39m[38;5;124m1[39m[38;5;124m'[39m, [38;5;124m'[39m[38;5;124mrecords[39m[38;5;124m'[39m: [38;5;124m'[39m[38;5;124m[[39m[38;5;124m{[39m[38;5;124m"[39m[38;5;124mlockId[39m[38;5;124m"[39m[38;5;124m:8686987,[39m[38;5;124m"[39m[38;5;124melectricQuantity[39m[38;5;124m"[39m[38;5;124m:100,[39m[38;5;124m"[39m[38;5;124mserverDate[39m[38;5;124m"[39m[38;5;124m:1758100706693,[39m[38;5;124m"[39m[38;5;124mrecordTypeFromLock[39m[38;5;124m"[39m[38;5;124m:17,[39m[38;5;124m"[39m[38;5;124mrecordType[39m[38;5;124m"[39m[38;5;124m:7,[39m[38;5;124m"[39m[38;5;124msuccess[39m[38;5;124m"[39m[38;5;124m:1,[39m[38;5;124m"[39m[38;5;124mlockMac[39m[38;5;124m"[39m[38;5;124m:[39m[38;5;124m"[39m[38;5;124mFD:15:3A:7E:D1:E2[39m[38;5;124m"[39m[38;5;124m,[39m[38;5;124m"[39m[38;5;124mkeyboardPwd[39m[38;5;124m"[39m[38;5;124m:[39m[38;5;124m"[39m[38;5;124m3157220353[39m[38;5;124m"[39m[38;5;124m,[39m[38;5;124m"[39m[38;5;124mlockDate[39m[38;5;124m"[39m[38;5;124m:1758100692000,[39m[38;5;124m"[39m[38;5;124musername[39m[38;5;124m"[39m[38;5;124m:[39m[38;5;124m"[39m[38;5;124m夏天乐带0[39m[38;5;124m"[39m[38;5;124m}][39m[38;5;124m'[39m, [38;5;124m'[39m[38;5;124madmin[39m[38;5;124m'[39m: [38;5;124m'[39m[38;5;124mxtlft@qq.com[39m[38;5;124m'[39m, [38;5;124m'[39m[38;5;124mlockMac[39m[38;5;124m'[39m: [38;5;124m'[39m[38;5;124mFD:15:3A:7E:D1:E2[39m[38;5;124m'[39m})[38;5;241m.[39mjson() File [1;32md:\Anaconda3\Lib\site-packages\requests\api.py:115[0m, in [0;36mpost[1;34m(url, data, json, **kwargs)[0m [0;32m 103[0m [38;5;28;01mdef[39;00m [38;5;21mpost[39m(url, data[38;5;241m=[39m[38;5;28;01mNone[39;00m, json[38;5;241m=[39m[38;5;28;01mNone[39;00m, [38;5;241m*[39m[38;5;241m*[39mkwargs): [0;32m 104[0m [38;5;250m [39m[38;5;124mr[39m[38;5;124;03m"""Sends a POST request.[39;00m [0;32m 105[0m [0;32m 106[0m [38;5;124;03m :param url: URL for the new :class:`Request` object.[39;00m [1;32m (...)[0m [0;32m 112[0m [38;5;124;03m :rtype: requests.Response[39;00m [0;32m 113[0m [38;5;124;03m """[39;00m [1;32m--> 115[0m [38;5;28;01mreturn[39;00m request([38;5;124m"[39m[38;5;124mpost[39m[38;5;124m"[39m, url, data[38;5;241m=[39mdata, json[38;5;241m=[39mjson, [38;5;241m*[39m[38;5;241m*[39mkwargs) File [1;32md:\Anaconda3\Lib\site-packages\requests\api.py:59[0m, in [0;36mrequest[1;34m(method, url, **kwargs)[0m [0;32m 55[0m [38;5;66;03m# By using the 'with' statement we are sure the session is closed, thus we[39;00m [0;32m 56[0m [38;5;66;03m# avoid leaving sockets open which can trigger a ResourceWarning in some[39;00m [0;32m 57[0m [38;5;66;03m# cases, and look like a memory leak in others.[39;00m [0;32m 58[0m [38;5;28;01mwith[39;00m sessions[38;5;241m.[39mSession() [38;5;28;01mas[39;00m session: [1;32m---> 59[0m [38;5;28;01mreturn[39;00m session[38;5;241m.[39mrequest(method[38;5;241m=[39mmethod, url[38;5;241m=[39murl, [38;5;241m*[39m[38;5;241m*[39mkwargs) File [1;32md:\Anaconda3\Lib\site-packages\requests\sessions.py:589[0m, in [0;36mSession.request[1;34m(self, method, url, params, data, headers, cookies, files, auth, timeout, allow_redirects, proxies, hooks, stream, verify, cert, json)[0m [0;32m 584[0m send_kwargs [38;5;241m=[39m { [0;32m 585[0m [38;5;124m"[39m[38;5;124mtimeout[39m[38;5;124m"[39m: timeout, [0;32m 586[0m [38;5;124m"[39m[38;5;124mallow_redirects[39m[38;5;124m"[39m: allow_redirects, [0;32m 587[0m } [0;32m 588[0m send_kwargs[38;5;241m.[39mupdate(settings) [1;32m--> 589[0m resp [38;5;241m=[39m [38;5;28mself[39m[38;5;241m.[39msend(prep, [38;5;241m*[39m[38;5;241m*[39msend_kwargs) [0;32m 591[0m [38;5;28;01mreturn[39;00m resp File [1;32md:\Anaconda3\Lib\site-packages\requests\sessions.py:703[0m, in [0;36mSession.send[1;34m(self, request, **kwargs)[0m [0;32m 700[0m start [38;5;241m=[39m preferred_clock() [0;32m 702[0m [38;5;66;03m# Send the request[39;00m [1;32m--> 703[0m r [38;5;241m=[39m adapter[38;5;241m.[39msend(request, [38;5;241m*[39m[38;5;241m*[39mkwargs) [0;32m 705[0m [38;5;66;03m# Total elapsed time of the request (approximately)[39;00m [0;32m 706[0m elapsed [38;5;241m=[39m preferred_clock() [38;5;241m-[39m start File [1;32md:\Anaconda3\Lib\site-packages\requests\adapters.py:622[0m, in [0;36mHTTPAdapter.send[1;34m(self, request, stream, timeout, verify, cert, proxies)[0m [0;32m 618[0m [38;5;28;01mif[39;00m [38;5;28misinstance[39m(e[38;5;241m.[39mreason, _SSLError): [0;32m 619[0m [38;5;66;03m# This branch is for urllib3 v1.22 and later.[39;00m [0;32m 620[0m [38;5;28;01mraise[39;00m SSLError(e, request[38;5;241m=[39mrequest) [1;32m--> 622[0m [38;5;28;01mraise[39;00m [38;5;167;01mConnectionError[39;00m(e, request[38;5;241m=[39mrequest) [0;32m 624[0m [38;5;28;01mexcept[39;00m ClosedPoolError [38;5;28;01mas[39;00m e: [0;32m 625[0m [38;5;28;01mraise[39;00m [38;5;167;01mConnectionError[39;00m(e, request[38;5;241m=[39mrequest) [1;31mConnectionError[0m: HTTPConnectionPool(host='127.0.0.1', port=8100): Max retries exceeded with url: /door/tongtong/log (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x0000023A69EC9B80>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积极拒绝,无法连接。'))
[1;31m在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。 [1;31m请查看单元格中的代码,以确定故障的可能原因。 [1;31m单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。 [1;31m有关更多详细信息,请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。
In [2]:
get('''https://szihj.idsp.yunxiao.com/open/api/v1/students?pageNo=1&pageSize=20&filter={"studyCode":["280106","280107","280108"]}''',headers={
"authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzemloaiIsImF1ZCI6Ijg2OTM3NjI1MDk3OTU3ODAxNyIsImlhdCI6MTc1NzQ0MTMwNSwiZXhwIjoxNzU3NDQ4NTA1LCJzY29wZSI6bnVsbH0.3VH9VAp6uq_pMoACGUtRZqpAq3ewMYmNVNqyXy0YK_E"},verify=False,proxies={
"http":"http://127.0.0.1:8080",
"https":"http://127.0.0.1:8080"
}
)Out [2]:
d:\Anaconda3\Lib\site-packages\urllib3\connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn(
<Response [200]>
In [3]:
get("https://szihj.idsp.yunxiao.com/open/api/v1/students?pageNo=1&pageSize=20&filter=%7B%22studyCode%22%3A%5B%22280106%22%2C%22280107%22%2C%22280108%22%5D%7D",headers={
"authorization":"eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzemloaiIsImF1ZCI6Ijg2OTM3NjI1MDk3OTU3ODAxNyIsImlhdCI6MTc1NzQ0MTMwNSwiZXhwIjoxNzU3NDQ4NTA1LCJzY29wZSI6bnVsbH0.3VH9VAp6uq_pMoACGUtRZqpAq3ewMYmNVNqyXy0YK_E"},verify=False,proxies={
"http":"http://127.0.0.1:8080",
"https":"http://127.0.0.1:8080"
}
)Out [3]:
d:\Anaconda3\Lib\site-packages\urllib3\connectionpool.py:1099: InsecureRequestWarning: Unverified HTTPS request is being made to host '127.0.0.1'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings warnings.warn(
<Response [200]>