背景
公司有个老项目,由于历史原因。需要每隔一段时间定时点击界面的某个同步按钮进行同步,本来想用java来实现,后面想着用python来实现应该会简单点,就尝试用python来写了下,废话不多说。开干
引入版本
#!/usr/bin/python2
# -*- coding:UTF-8 -*-
import json,chardet,requests
import os
import sys
import time
import httplib
httplib.HTTPConnection._http_vsn = 10
httplib.HTTPConnection._http_vsn_str = 'HTTP/1.0'
reload(sys)
sys.setdefaultencoding('utf8')
这里如果说有的库没安装的话,请使用pip install xxx 进行安装。 如果说pip都没安装,请自行百度安装pip。
编写获取cookie代码
#请求路径
url="xx.xx.xx.xx:xx"#登录并获取cookie
login_url="http://"+url+"/login"
#表单传值
login_head={
"Content-Type": "application/x-www-form-urlencoded; charset=UTF-8", "Connection": "keep-alive"}
#登录的参数
login_body={
"username":"admin","password":"admin"}try:
#post请求 进行登录res = requests.post(url=login_url, headers=login_head, data=login_body, allow_redirects=False)cookies = res.cookies#打印cookiesprint(cookies)cookie = requests.utils.dict_from_cookiejar(cookies)['shiroCookie']print("cookie==>>"+cookie)
except Exception as err:print ('cookie!'+err)
这里需要特殊说明一个地方
allow_redirects=False 不进行重定向。因为登录接口一般都会重定向,导致cookie获取不到。
学习python群
python交流群:711607680
源码地址