python调用api接口的方式:
接口协议:http、webservice、rpc等。
请求方式:get、post方式。
请求参数格式:
a. get请求都是通过url?param=xxx¶m1=xxx
b. post请求的请求参数常用类型有:application/json、application/x-www-form-urlencoded、multipart/form-data、text/html等。
还需要知道接口的url、参数类型、返回结果的数据格式、了解接口是否有header、cookie等信息。
get方法
#coding:utf-8 importjson fromurlparseimportparse_qs fromwsgiref.simple_serverimportmake_server #定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。 defapplication(environ,start_response): #定义文件请求的类型和当前请求成功的code start_response('200OK',[('Content-Type','text/html')]) #environ是当前请求的所有数据,包括Header和URL,body,这里只涉及到get #获取当前get请求的所有数据,返回是string类型 params=parse_qs(environ['QUERY_STRING']) #获取get中key为name的值 name=params.get('name',[''])[0] no=params.get('no',[''])[0] #组成一个数组,数组中只有一个字典 dic={'name':name,'no':no} return[json.dumps(dic)] if__name__=="__main__": port=5088 httpd=make_server("0.0.0.0",port,application) print"servinghttponport{0}...".format(str(port)) httpd.serve_forever()
请求实例
post方法
#coding:utf-8 importjson fromwsgiref.simple_serverimportmake_server #定义函数,参数是函数的两个参数,都是python本身定义的,默认就行了。 defapplication(environ,start_response): #定义文件请求的类型和当前请求成功的code start_response('200OK',[('Content-Type','application/json')]) #environ是当前请求的所有数据,包括Header和URL,body request_body=environ["wsgi.input"].read(int(environ.get("CONTENT_LENGTH",0))) request_body=json.loads(request_body) name=request_body["name"] no=request_body["no"] #inputyourmethodhere #forinstance: #增删改查 dic={'myNameIs':name,'myNoIs':no} return[json.dumps(dic)] if__name__=="__main__": port=6088 httpd=make_server("0.0.0.0",port,application) print"servinghttponport{0}...".format(str(port)) httpd.serve_forever()
请求实例
python学习网,大量的免费python视频教程,欢迎在线学习!