Python编写API接口
要求通过http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb进行访问,参数a="aa",b="bb",c="00"
1.编写url:浏览器会自动将?后面识别为参数。
urlpatterns = [
url(r'^calc/$', aptest.calc, name='calc'),
]
2.编写view:
def calc(request):
a = request.GET['a']
b = request.GET['b']
c = request.GET['c']
print a,b,c
m = a+b+c
return HttpResponse(str(m))
浏览器返回json类型结果:
import json
def calc(request):
a = request.GET['a']
b = request.GET['b']
c = request.GET['c']
print a,b,c
m = a+b+c
n = b+a
rets = {"m":m,'n':n}
retsj = json.dumps(rets) #返回json类型数据 {"m": "aabb00", "n": "bbaa"}
return HttpResponse(retsj)
在浏览器中访问http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb,返回值为:“aabb00”
其中http://192.168.50.74/aptest/calc为接口地址,a=aa&c=00&b=bb为所接收到的参数,如下图所示:

在python中访问该接口:
import urllib,urllib2,cookielib url = 'http://192.168.50.74/aptest/calc/?' #定义接口地址
headers = {
'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64; Trident/7.0; rv:11.0) like Gecko'
}
headers = {'User-agent':'Mozilla/5.0'} #---OK
url_args = urllib.urlencode({ #定义参数
"a":'aa',
"b":'bb',
"c":''})
print url_args #返回:a=aa&c=00&b=bb
urls = '%s%s' %(url,url_args)
print urls #返回:http://192.168.50.74/aptest/calc/?a=aa&c=00&b=bb
req = urllib2.Request(url=urls,headers=headers) #需要添加一个header,否则会提示403forbidden
print urllib2.urlopen(req).read() #返回:aabb00
#urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象
Python编写API接口的更多相关文章
- (转)python编写登录接口
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://506554897.blog.51cto.com/2823970/1907262 ...
- Python调用API接口的几种方式 数据库 脚本
Python调用API接口的几种方式 2018-01-08 gaoeb97nd... 转自 one_day_day... 修改 微信分享: 相信做过自动化运维的同学都用过API接口来完成某些动作.AP ...
- 使用 Python 编写登陆接口
# 使用 Python 编写登陆接口# Create Date: 2017.10.31 Tuesday# Author: Eric Zhao# -*- coding:utf-8 -*-'''编写登陆接 ...
- Python调用API接口的几种方式
Python调用API接口的几种方式 相信做过自动化运维的同学都用过API接口来完成某些动作.API是一套成熟系统所必需的接口,可以被其他系统或脚本来调用,这也是自动化运维的必修课. 本文主要介绍py ...
- python测试api接口
在开发中,需要测试web-api的接口 spring mvc 使用单元测试非常方便,但是,受不了单元测试的启动速度.用python写了一个小脚本,用于测试接口, 测试脚本配置文件 api.yaml s ...
- 8.Python编写登录接口
1.python需安装flask,在命令行窗口输入:pip3 install flask 2.代码如下所示: from flask import Flask,request,jsonify,sessi ...
- python 编写登陆接口
#!/usr/bin/env python#_*_ coding:utf-8 _*_dic={ 'yts':{'password':'123','count':0}, 'nick':{'passwor ...
- Python编写登陆接口
实现功能: 输入用户名和密码 认证成功后显示欢迎信息 输错三次后锁定 # 提示输入用户名和密码 # 验证用户名和密码 # 如果错误,则输出用户名或密码错误 # 如果成功,则输出 欢迎,XXX! #!/ ...
- python中API接口是什么
首先还是举个例子:你要去银行取钱的例子.如果没有银行柜员给你服务,你自己去存钱,你需要做的事情有: 一,打开金库的大门 二,把钱放进去 三,记账,存放了多少钱 四,离开. 问题解决了,但是其中有不少问 ...
随机推荐
- Application Metrics With Spring Boot Actuator
转自:https://bartcode.co.uk/2015/01/application-metrics-with-spring-boot-actuator Update 12/2017: It w ...
- [转]Build beautiful, responsive sites with Bootstrap and ASP.NET Core
本文转自:https://docs.microsoft.com/en-us/aspnet/core/client-side/bootstrap?view=aspnetcore-2.1 Bootstra ...
- Extjs 项目中常用的小技巧,也许你用得着(4)---Extjs 中的cookie设置
1.ExtJs设置cookie两种方式 其一:设置cookie如下 saveacct=isForm.getForm().findField('itemselector').getValue(); Ex ...
- MSSQL标识ID的修改
今天机缘巧合,无意听到别人闲聊,突发奇想设计一套系统来解决他们的痛点,待我进一步分析下如何执行.回到主题,最近修改ID的工作做了不少.企业补充历史数据用.现总结如下: 1.想把递增ID某一段的ID都加 ...
- SpringBoot中动态加载(热部署)
在常规的Java Web开发过程中,在修改完代码后,往往需要重启Tomcat来使得我们的修改生效,在SpringBoot中也需要从新启动SpringBoot来将修改部署.如果我们不希望重启tomcat ...
- oracle逐步学习总结之oracle数字函数和日期函数(基础四)
原创作品,转自请注明出处:https://www.cnblogs.com/sunshine5683/p/10140716.html 继上篇总结,继续进行总结: 以下下数字函数: 1.abs(n):返回 ...
- java.lang.ExceptionInInitializerError异常
今天在开发的过程中,遇到java.lang.ExceptionInInitializerError异常,百度查了一下,顺便学习学习,做个笔记 静态初始化程序中发生意外异常的信号,抛出Exception ...
- HDU6186(线段树)
CS Course Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total S ...
- 华中农业大学第五届程序设计大赛网络同步赛-A
Problem A: Little Red Riding Hood Time Limit: 1 Sec Memory Limit: 1280 MBSubmit: 860 Solved: 133[S ...
- TFS 打得你措手不及!TF53001:管理员已取消数据库操作
心塞.公司TFS突然挂了.签入获取 一直报 TF53001:管理员已取消数据库操作.公司开发部开发进度一下就受阻了.刚好有时关键时期. 在 老总的帮助下根据搜到的资料 .搞定了这个问题!问题出在数据库 ...