网站开发+进度表,什么牛网站建设,西安抖音运营,网站建设公司新报价前言 发送post的请求参考例子很简单#xff0c;实际遇到的情况却是很复杂的#xff0c;首先第一个post请求肯定是登录了#xff0c;但登录是最难处理的。登录问题解决了#xff0c;后面都简单了。 一、查看官方文档 1.学习一个新的模块#xff0c;其实不用去百度什么的实际遇到的情况却是很复杂的首先第一个post请求肯定是登录了但登录是最难处理的。登录问题解决了后面都简单了。 一、查看官方文档 1.学习一个新的模块其实不用去百度什么的直接用help函数就能查看相关注释和案例内容。 import requests help(requests) 2.查看python发送get和post请求的案例 import requests r requests.get(https://www.python.org) r.status_code 200 Python is a programming language in r.content True ... or POST: payload dict(key1value1, key2value2) r requests.post(http://httpbin.org/post, datapayload) print(r.text) { ... form: { key2: value2, key1: value1 }, ... } 二、发送post请求 1.用上面给的案例做个简单修改发个post请求 2.payload参数是字典类型传到如下图的form里 三、json 1.post的body是json类型也可以用json参数传入。 2.先导入json模块用dumps方法转化成json格式。 3.返回结果传到data里 四、headers 1.以禅道登录为例模拟登陆这里需添加请求头headers,可以用fiddler抓包 2.讲请求头写成字典格式 headers {User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0, Accept: application/json, text/javascript, */*; q0.01, Accept-Language: zh-CN,zh;q0.8,en-US;q0.5,en;q0.3, Accept-Encoding: gzip, deflate, br, Content-Type: application/json; charsetutf-8, X-Requested-With: XMLHttpRequest, Cookie: xxx............., # 此处cookie省略了 Connection: keep-alive } 五、禅道登录参考代码 # coding:utf-8# coding:utf-8import requests# 禅道host地址host http://127.0.0.1def login(s,username,psw): url host/zentao/user-login.html h { User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0, Accept: text/html,application/xhtmlxml,application/xml;q0.9,*/*;q0.8, Accept-Language: zh-CN,zh;q0.8,en-US;q0.5,en;q0.3, Accept-Encoding: gzip, deflate, Referer: host/zentao/user-login.html, # Cookie: # 头部没登录前不用传cookie因为这里cookie就是保持登录的 Connection: keep-alive, Content-Type: application/x-www-form-urlencoded, } body1 {account: username, password: psw, keepLogin[]: on, referer: host/zentao/my/ } # s requests.session() 不要写死session r1 s.post(url, databody1, headersh) # return r1.content # python2的return这个 return r1.content.decode(utf-8) # python3def is_login_sucess(res): if 登录失败请检查您的用户名或密码是否填写正确。 in res: return False elif parent.location in res: return True else: return Falseif __name__ __main__: s requests.session() a login(s, admin, e10adc3949ba59abbe56e057f20f883e) result is_login_sucess(a) print(测试结果%s%result) 转载于:https://www.cnblogs.com/liunaixu/p/11077422.html