002 python接口 post请求

 

 

 

/*
时间:2018/08/23
功能:post请求
目录: 
  一: post请求 - 无参
    1 无参
  二: post请求 - url
    1 url传参 - url 
    2 url传参 - params 
  三: post请求 - body
    1 body传参 - json
    2 body传参 - application/x-www-form-urlencoded(登录禅道)
  四: 登录判断 - 正则匹配
    1 成功登录
    2 失败登录
*/

 

一: post请求

  1 参数

1 : 访问网站: https://www.cnblogs.com/huafan。

2 : 浏览器访问没有问题。

 

1 : 先使用fiddler测试。

2 : 请求方式 - post; url - https://www.cnblogs.com/huafan。

3 : 点击"Execute"。

 

1 : 查看请求,返回数据没有问题。

 

1 : python代码请求。

# coding:utf-8
import requests
import urllib3
urllib3.disable_warnings() # 忽略警告

url = "https://www.cnblogs.com/huafan"
r = requests.post(url, verify = False)

print(r.text)   

2 : 查看返回结果,和Fiddler一样,也是没有问题。

 

二: post请求 - url 

  1 url传参 - url

1 : 访问网址:https://www.juhe.cn/docs/api/id/166 ,使用第三方提供的接口。

 

1 : 使用浏览器测试一下,url : http://japi.juhe.cn/qqevaluate/qq?key=appKey&qq=qq。

2 : 可以看到浏览器显示,服务端返回数据。

 

1 : 先使用fiddler测试。

2 : 请求方式 - post; url - http://japi.juhe.cn/qqevaluate/qq?key=appKey&qq=qq。

3 : 点击"Execute"。

 

1 : 查看请求,返回数据没有问题。

 

1 : python代码请求。

# coding:utf-8
import requests
import urllib3
urllib3.disable_warnings() # 忽略警告

url = "http://japi.juhe.cn/qqevaluate/qq?key=8dbee1fcd8627fb6699bce7b986adc45&qq=1812436356"
r = requests.post(url, verify = False)

print(r.status_code)    # 状态码
print(r.headers)        # 头部
print(r.text)           # 正文

2 : 查看返回结果,返回数据没有问题。

 

  2 url传参 - params

 1 : python代码请求。

# coding:utf-8
import requests
import urllib3
urllib3.disable_warnings() # 忽略警告

url = "http://japi.juhe.cn/qqevaluate/qq"
params = {
    "key" : "8dbee1fcd8627fb6699bce7b986adc45", "qq" : "1812436356" } r = requests.post(url, params = params, verify = False) print(r.status_code) # 状态码 print(r.headers) # 头部 print(r.text) # 正文

2 : 查看返回结果,返回数据没有问题。

 

三: post请求 - body
  1 body传参 - json

    (暂无)   

 

  2 body传参 - application/x-www-form-urlencoded(登录禅道)

1 : 登录禅道,输入用户名和密码。

2 : 勾选"保持登录",点击"登录"。

 

1 : 点击Raw,查看刚才请求。

 

1 : 点击"WebForms",查看请求参数。

2 : 查看登录成功后返回数据。

 

1 : python代码请求。

# coding:utf-8
import requests
import urllib3
urllib3.disable_warnings() # 忽略警告

# 禅道登录
url = "http://127.0.0.1/zentao/user-login.html"
body = {
    "account": "admin",
    "password": "e10adc3949ba59abbe56e057f20f883e", "keepLogin[]": "on", "referer": "/zentao/my.html" } r = requests.post(url,data = body) print(r.status_code) print(r.text)

2 : 查看返回结果,和Fiddler一样。

 

四: 登录判断 - 正则匹配

  1 成功登录

1 : python代码请求

# coding:utf-8
import requests
import re

# 禅道登录
url = "http://127.0.0.1/zentao/user-login.htm"

body = {
    "account": "admin",
    "password": "e10adc3949ba59abbe56e057f20f883e", "keepLogin[]": "on", "referer": "/zentao/my.html" } r = requests.post(url, data = body) print(r.status_code) print(r.content.decode("utf-8")) # 中文解码 try: # 正则提取 res = r.content.decode("utf-8") # 获取中文字符串 result = re.findall("alert\(\'(.+?)\'\)", res) # 正则匹配 print(result[0]) # 取list第0个 except: print("登录成功 ")

2 : 查看请求结果,数据正确。

 

  2 失败登录

 

1 : 登录禅道,输入用户名和错误的密码。

2 : 勾选"保持登录",点击"登录",弹出错误提示信息。

 

1 : 查看fiddler请求,返回数据有错误提示信息。

 

1 : python代码请求

# coding:utf-8
import requests
import re

# 禅道登录
url = "http://127.0.0.1/zentao/user-login.htm"

body = {
    "account": "admin",
    "password": "123456789", "keepLogin[]": "on", "referer": "/zentao/my.html" } r = requests.post(url, data = body) print(r.status_code) print(r.content.decode("utf-8")) # 中文解码 try: # 正则提取 res = r.content.decode("utf-8") # 获取中文字符串 result = re.findall("alert\(\'(.+?)\'\)", res) # 正则匹配 print(result[0]) # 取list第0个 except: print("登录成功 ")

2 : 查看请求结果,数据正确。

 

 

 

 

转载于:https://www.cnblogs.com/huafan/p/9521590.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值