0
点赞
收藏
分享

微信扫一扫

Requests06--获取返回的URL地址

r.url

功能:获得请求的实际url地址
场景:一般用于验证访问的接口的url是否正确
get请求的url字符串会被urlencode函数编码
URL编码是一种浏览器用来打包请求参数及表单参数的格式,参数和参数之间使用&分割,非ASCII码使用%加16进制编码替换,将需转码的字符转为16进制,从右到左每2位前面加上%,编码成%XY格式
/、:、?、=、#等是保留字符不做转换,空格会转换为%20或加号

获取百度接口的url地址

"""
接口需求
接口地址:http://www.baidu.com/kw=selenium
方法:get
参数:id,username
"""
import requests
url = 'http://www.baidu.com/'
data = {
'kw':'selenium'
}
r = requests.get(url,params=data)
print(r.url) # 接口地址

GET请求与POST请求URL的变化

"""
查看实际请求的url
接口需求
接口地址:http://192.168.139.129:8000/login_action/
方法:post
参数:username,password
思考
get请求和post请求的实际url相同吗
接口url发生了跳转
"""
import requests
url = 'http://192.168.139.129:8000/login_action/'
data = {'username':'admin',"password":'admin123456'}
r = requests.post(url,data)
print(r.url)
# 实际请求的url有时候与初始请求url相同
# r = requests.get('http://www.baidu.com')
# print(r.url)

请求中含有代码的解决方式

"""
参数使用中文,查看实际请求的url
接口需求
接口地址:http://192.168.175.128/interface/3/
方法:get
参数:username,password
"""
import requests
url = 'http://192.168.139.129/interface/3/'
data = {
'username':'测试','password':'abc123'
}
r= requests.get(url=url,params=data)
print(r.url)
# urlencode:url 编码 用于处理汉字
# % + 两位数字 无需翻译
# 百度搜索:urlencode编码
# utf-8 字符集 1个汉子对应的3位编码 属于十六进制
# 大多数使用 utf-8


举报

相关推荐

0 条评论