python介面呼叫過程中的小總結

2021-09-29 13:57:20 字數 2540 閱讀 7361

導包:

import requests

import json

在介面呼叫過程中(程式執行),出現如下錯誤:

問題1)、httpsconnectionpool(host='z.jd.com', port=443),需要取消認證:在requests請求引數中新增	

verify=false引數。

如:requests.get('',verify=false)

問題2)、取消認證之後都還是不能一次,可以加入另外乙個引數:timeout=60。

如:requests.get('',verify=false,timeout=60)

問題3)、insecurerequestwarning: unverified https request is being made. adding certificate verification is strongly advised.see:*******,解決辦法如下,在專案引用requests模組後禁用這個報警:

如:requests.packages.urllib3.disable_warnings()

問題4)、為了保證請求的資訊編碼格式,可以加入請求頭,

如:requests.get('',verify=false,headers=headers)

問題5)、請求失敗,可以增加連線的次數

requests.adapters.default_retries = 10

問題6)、如果建立的連線沒有及時關閉,可以做如下操作關閉連線。

session = requests.session()

session.keep_alive = false

#預設情況是true。

問題7)、排查問題前可以檢查一下,自己的環境和介面說明文件,是否有訪問頻率限制和格式要求,是否缺少requests依賴包:

如:pyopenssl包、ndg-httpsclient、pyasn1,如果缺少就:

如:time.sleep(10)-----程式休息10秒鐘。

其他問題:

#轉化成自己需要的資料格式:轉換成python格式的資料

# value = bytes(json.dumps(data_info,ensure_ascii=false,indent=4),"utf-8")

# value = bytes(json.loads(data_info,ensure_ascii=false,indent=4),"utf-8")

請求後的返回結果:

res = requests.get(url_users,timeout=60,verify=false,headers=headers).text

response = json.loads(res)[「你需要的key」]

將結果儲存在mysql資料庫中:

從資料庫查詢的結果集:

import pymysql --------如果沒有這個模組可以pip install pymysql

connect = pymysql.connect(host='ip',port=port,user='user',

passwd = 'password',db='databasename',charset='utf8')

#如果是連線mssql,可以pip install mssql。

cursor = connect.cursor()

sql = """ select * from table_name"""

cursor.excute(sql)

#獲取結果集

results = cursor.fetchall()

#遍歷結果集

for res in results :

i = 0

re = res[i]

#列印結果看看是不是你需要的,如果不是可以稍做調整。

print(re)

函式遞迴呼叫過程中的呼叫堆疊的情況

為了加深對函式遞迴呼叫過程中的理解,本demo程式特意在vs2008 c 控制台程式實現了階乘的計算功能,用於觀察函式遞迴呼叫過程中的呼叫堆疊的情況。原始碼如下 using system using system.collections.generic using system.linq using...

Dubbo發布過程中,消費者呼叫過程

目錄2.遠端物件rpcinvocation 我們從controller開始看起,當我們發起乙個request請求的時候,controller呼叫的是service,此處我們呼叫的dubbo引用服務的 類 iuserservice是乙個介面,實際呼叫的是乙個 類,我們接著往下看 restcontrol...

python使用過程中問題

1.檢視python支援的 whl格式 在cmd輸入python 或者 python3.6 import pip print pip.pep425tags.get supported 2.在修改python.exe為python36.exe 任何重新命名 後,pip會報錯 fatal error i...