#coding:utf-8 import requests import json try: from urllib.parse import urlencode except: from urllib import urlencode session = requests.Session() def serialize(params): if isinstance(params,dict): return urlencode(params) def request_data(host,path,params,method="GET",body={}): try: method = method.upper() headers = { 'Content-Type': 'application/json', } if method=="POST": request_params={} for k,v in params.items(): request_params[k]=v serialize_params= serialize(request_params) url="{}{}?{}".format(host,path,serialize_params) print('curl -X POST -H "Content-Type:application/json" "{}" -d \'{}\' '.format(url,json.dumps(body))) response = session.post(url,data=json.dumps(body),headers=headers) else: request_params = {} for k,v in params.items(): request_params[k]=v serialize_params= serialize(request_params) url="{}{}?{}".format(host,path,serialize_params) print('curl -X GET "{}"'.format(url)) response = session.get(url,headers=headers) if response.status_code == 200: res = json.loads(response.text) return res return [] except Exception as e: print(e) return [] if __name__ == "__main__": host="www.baidu.com" path="/s" params={ "q":"test" } request_data(path)