发送请求的数据

1、在动用requests发送央求,响应数据转成json提示,未有可解码的json

解决办法:

那是出于,发送央浼的多少,存在错误,响应出错比方404
400,所以找不到能够解码的json

示范如下:

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
response = Session().post(url,data=postdata)
print(response.json())

实则从图上很鲜明能观望难题,因为postdata是字符串类型,不是dict字典

澳门太阳集团城网址,澳门太陽城集团登录网址,如上图代码固然试行报如下错误:

澳门太陽城集团登录网址 1

消除办法,eval()函数将字符串,调换到字典;如下所示

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=eval(postdata))
print(request.json())

有人恐怕会说,你那不是神经过敏吗?把postdata间接定义成字典不就行了;你说的准确确实能够这样

postdata = {'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=postdata)
print(request.json())

不过只要以下那串数据,存款和储蓄在数据库中,大概excel中,读出来的时候默许便是字符串,如若读出来直接使用就能够出现本文的错误,

之所以哪个地方错了那几个要了然,那是一个小细节;调节和测量试验输出,开采输出跟以下是同等的,

不曾错呀那是字典呢{‘xxxx’:’xxx’……….},然而它便是字符串。轻易被忽略,所以还要采用eval(postdata)函数转成字典

{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}

不错代码:

postdata = '''{'userName':'13718651996',
            'passwd':'yhlxxxx870120',
            'validateCode':'abc',
            'rememberMe':'true'}'''
url = 'https://secure.elong.com/passport/ajax/elongLogin'
request = Session().post(url,data=eval(postdata))
print(request.json())

------------------------------作者是华丽的分隔线----------------------------------

2、join拼接路线

os.path.join拼接路线,蒙受的难点,日常会把温馨绕进去

发送请求的数据。 

str = r'd:\PHJ\Reporter\LOGS'
#报告文件路径
reporPath = os.path.join(str,'report')
isExistPath(reporPath) #创建文件夹

print(reporPath)

imgPath = os.path.join(reporPath,'\\Image')
print(imgPath)

 

发送请求的数据。荒谬输出输出:

d:\PHJ\Reporter\LOGS\report
d:\Image

发送请求的数据。大家希望结果:

d:\PHJ\Reporter\LOGS\report
d:\PHJ\Reporter\LOGS\report\Image

是还是不是很意外,难点到底出在什么地方,这些标题让本身纠结了悠久,八个不太在意的没不平日。

澳门太陽城集团登录网址 2

发送请求的数据。科学,大家就是拼接的时候,多了七个返斜扛。去掉后难题一下子就解决了。

发送请求的数据。发送请求的数据。 

3、写完项目,间接在Computer中双击py文件,报文件中援用的包找不到

花色布局,要执行run文件夹下的run.py ;报找不到run文件中援用的包

澳门太陽城集团登录网址 3

缘由:双击施行的时候,不会活动进化寻找包,只会在当下文件夹及子文件夹中检索

那么如何是好呢,把试行文书,在档次根目录下建个run.py做为施行入口,难点一蹴即至。

澳门太陽城集团登录网址 4

 

您可能会说了,那样做,小编某些援用路线的地点不对了,那小编估算是赢得路线的章程是

os.getcur
 获取当前路径,这样一来,你各类文件用的路线都以现阶段引述文件所在的门径

故此提出起个gl文件,用来存款和储蓄路线。等新闻。

os.path.abspath(os.path.dirname(__file__))
用那一个获得当前路线,而并不是用os.getcur

再不,纵然你把得到路径这几个,配置到gl也正是单独一个py中,那么不一致岗位调用。路线也会差别。

 

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图