如何在URL中传递动态值?请求代码调试求助
解决GET请求中传递捕获的键值对参数问题
看起来你正尝试把之前捕获到的refresh_token和access_token值传入退出登录的GET接口,但当前的字符串拼接写法可能因为变量值的特殊情况(比如空值、包含URL特殊字符)导致请求异常。我给你几个更可靠的改进方案:
方案1:使用f-string格式化字符串(Python 3.6+)
这种写法比直接用+拼接更直观,也不容易出现语法错误:self.client.get(f"auth/logout?type=user&refresh_token={self.refresh_token}", headers={"access_token": str(self.access_token)}, catch_response=True)方案2:使用
params参数自动拼接(推荐)
如果你的self.client是基于requests库的(比如Locust的HttpSession),强烈推荐用params参数传递URL查询参数,它会自动处理URL编码,避免特殊字符破坏URL结构,代码也更整洁易读:self.client.get("auth/logout", params={"type": "user", "refresh_token": self.refresh_token}, headers={"access_token": str(self.access_token)}, catch_response=True)
另外,你可以先确认一下self.refresh_token和self.access_token是否真的被正确捕获——比如在请求前加一行print(self.refresh_token),看看输出是不是你预期的有效值。如果变量是空或者None,那请求自然会出现问题。
内容的提问来源于stack exchange,提问作者Vish
相关产品推荐
相关产品推荐

