POST一下就知道:人生苦短,我用Python!

Python编程笔记----

背景:

  “闸机端”简版程序要求:

  读取扫描仪得到的userID;

  向服务器发送请求进行验证;

  根据返回值(True/False)决定闸机的信号。

1. 文件的读取

    网上买了个扫描仪,可是说明书忒简陋了,时间紧,来不及研究了。目前只知道将闸机连接到电脑,打开记事本,扫描仪扫二维码获取的数据就直接读在记事本里。

    所以先创建一个TXT文本,自己用数据把程序这边测了。

  • 打开文件(读写模式) ---> 读取所有行(针对小文件)---> 读取最新的userID --->写入换行符(以便下次扫描仪数据的输入位置正确)
#打开(扫描仪输入内容的)文件
fname = r"F:\userid.txt"
with open(fname,'r+') as f:
    lines = f.readlines()
    userID = lines[-1]#取最新一行的userID
    # 换行
    f.write("\n")
print(userID)

    ps: 读取文件最后一行内容,参考博客👉 针对大文件小文件两种

  • :因为这种存文件的方式我找到bug了,所以我改了。如果扫描仪连到txt文件,但是它不会自动保存啊。。然后我发现Python里,使用input()输入的时候,连接扫描仪可以直接读取数据,并回车!!这也太方便了吧!所以最后就这样啦~

2. POST请求与Json数据获取

  • 导入requests,json库 ---> 准备POST请求的header,data,url --- > 请求直接返回字符串 --->取JSON数据
#发送POST请求
url = "https://www.xxxxxxxxxx.top:8082/visitorder/accesslib"
data = {
    "userID": int(userID) #param
}
headers = {'Content-Type': 'application/json'} #header

response = requests.post(url=url, headers=headers, data=json.dumps(data)).text
content = json.loads(response)
result = content['successEnter']
if result:
    print("成功入馆!")
else:
    print("用户已在馆内")

    ps: 👉参考 

 

posted @ 2019-04-04 14:28  Shalome🍊  阅读(319)  评论(0编辑  收藏  举报