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视频教程,欢迎在线学习!