gout
gout copied to clipboard
有简单获取 response.url 的 api 吗
一点小疑惑,文档看了好几遍,似乎没有发现一个比较简单的能获取到Response的URL的方法,类似python的:
import requests
res = requests.get('https://httpbin.org')
print(res.url)
没怎么玩过python。res.url只是请求的url?从http的请求和响应头设计来看,响应报文里面是没有url信息的,所以res.url只能是请求对象的url参数,或者说res.url只是 requests.get函数的形参拷贝?(我理解的可对)
对,没有python request的镜像api(res.url)。所以我考虑下是否要加上。我先了解下res.url干了啥。
应该是请求的url,但是如果有302跳转的话,返回的是跳转之后的url,所以应该是以最后一次的请求url为准的(我的猜测),主要还是为了发生跳转之后的url,某些场景下面能够直接从url判断是否出现验证码或者请求失败,而不需要去解析页面的内容,比较方便。(在不方便全都一刀切的去禁止跳转的情况下)
了解了。
确认下,只要包含请求的url和301或者302跳转之后的url就行了?
是的,类似这个库 https://github.com/go-resty/resty
中有,response.RawResponse.Request.URL.String()
ok,了解。后面加下。