import json
import requests
def request_post(url, param):
fails = 0
result = 'error'
while True:
try:
if fails >= 2:
break
headers = {'content-type': 'application/json; charset=UTF-8'}
ret = requests.post(url, json=param, headers=headers, timeout=10)
if ret.status_code == 200 | ret.status_code == 201:
result = json.loads(ret.text)
else:
fails += 1
continue
except Exception as e:
fails += 1
print(str(e))
print('POST接口调用出现问题, 正在尝试再次请求: ', fails)
else:
break
return result
def request_get(url, param):
fails = 0
result = 'error'
while True:
try:
if fails >= 2:
break
ret = requests.get(url=url, params=param, timeout=10)
print('ret--->', ret)
if ret.status_code == 200 | ret.status_code == 201:
result = json.loads(ret.text)
else:
fails += 1
continue
except Exception as e:
fails += 1
print(str(e))
print('GET接口调用出现问题, 正在尝试再次请求: ', fails)
else:
break
return result
if __name__ == '__main__':
post_url = 'https://jsonplaceholder.typicode.com/posts'
post_request_param = {
"title": "foo",
"body": "bar",
"userId": 1
}
post_result = request_post(post_url, post_request_param)
print('post_result-->', post_result)
get_url = 'http://jsonplaceholder.typicode.com/posts/2'
get_result = request_get(get_url, None)
print('get_result-->', get_result)
亲测可用。
涉及到的免费api来自于 jsonplaceholder