python语法(一)-------python requests

来源:互联网 发布:淘宝价格策略 编辑:程序博客网 时间:2024/06/05 21:41

python  requests

1、

import requests

import json


输出结果为:


如果print(ret);

结果为:(response<200>)

2、

def initgoodnum(request):#初始化接口try:token=request.POST.get("token",default='')list=genTokenSeq('',token);token_venid=list[0];venid=get_object_or_404(Vendings,VenID=token_venid).VenIDif request.method=="POST" and token_venid!='' and int(token_venid)==venid:initialize=request.POST.get("initialize",default='')repInfo = initializeinitialize=json.loads(initialize) for key in initialize.keys():if key=="prolists":vendings=get_object_or_404(Vendings,VenID=venid)for item in initialize['prolists']:Propriceorigin=0.00;Propricepre=0.00;Pronum=0;for key ,value in item.items():if key=='proid':pro_id=get_object_or_404(Productions,ProID=value)vendingpro=Vendingpro.objects.filter(ven_id=vendings).filter(pro_id=pro_id)else:if key=='current':Pronum=int(value);#if Pronum!=0 and Propricepre!=0.00 and Propriceorigin!=0.00 and Pronum<=vendingpro[0].proCount:if Pronum!=0 and Pronum<=vendingpro[0].proCount:vendingpro.update(proNum=Pronum);data = {'venid':venid, 'repInfo':repInfo, 'repType':1};#ret = requests.post(posturl.initgoodurl[0], data=data)#repType=1是初始化,2是补货#ret=requests.post(posturl.initgoodurl[1],data=json.dumps(data));#status=1是初始化,2是补货ret=requests.post("http://192.155.10.112:8000/saler/test/",data=data);print(ret.text);return HttpResponse('initgood success')else:return HttpResponse('');else:return HttpResponse('method error');except KeyError:return HttpResponse('no post someone key');def test(request):venid=request.POST.get('venid',default='');repInfo=request.POST.get('repInfo',default='');print(venid);print(repInfo);data={};data['static']=1;data=json.dumps(data);#ret=requests.post("http://192.155.10.112:8000/saler/initgoodnum/",data=data);return HttpResponse(data);#注意,HttpResponse只能返回字符串或者json串。不能返回字典。

结果为:

分析:首先先调用initgoodnum(request),


data = {'venid':venid, 'repInfo':repInfo, 'repType':1};
ret=requests.post("http://192.155.10.112:8000/saler/test/",data=data);


会以POST方式发请求给该url,传递的数据为data字典,该url所对应的views方法是test(request)方法。

此时test(request)方法接收data字典,并以varvalue=request.POST.get('data中key',default=''),读取data中的一个 一个参数值。

然后test,再以json方式,通过HttpResponse(json格式的变量),返回给调用者requests.post(url,data=data)处,让其左边变量接收test返回的json格式的值。


3、

def initgoodnum(request):

initialize=request.POST.get("initialize",default='')repInfo = initializeinitialize=json.loads(initialize)print(repInfo)print(initialize)data = {'venid':venid, 'repInfo':repInfo, 'repType':1};print(data)ret = requests.get('http://192.155.10.112:8000/saler/test/',params=data);#到test方法中去了。print(ret.url);print(ret.text);

http://192.155.10.112:8000:8000/saler/test/对应views.test.

def test(request):

def test(request):'''print(request.body)#打印JSON串,b开头的形式字节数组print(simplejson.loads(request.body))#转换为JSON就可以使用了。data={'venid':1, 'repInfo':"sssss",'repType':1};data=json.dumps(data);return HttpResponse(data);'''venid=request.GET.get('venid',default='');repInfo=request.GET.get('repInfo',default='');print(venid);print(repInfo);data={};data['static']=1;data=json.dumps(data);return HttpResponse(data);#返回到initgoodnum中去了。
结果为:



4、学习链接:http://docs.python-requests.org/en/latest/user/quickstart/


原创粉丝点击