gpt4 book ai didi

将带有反斜杠字符的变量添加到 URL 字符串时出现 Python 错误

转载 作者:行者123 更新时间:2023-11-28 18:21:41 25 4
gpt4 key购买 nike

我正在尝试从分配 session cookie 并生成包含面包屑代码的 HTML 的网站上抓取一些数据,我需要将其附加到 URL 以获取数据。当 crumb 变量包含反斜杠时,我遇到了问题(HTTP 401 Unauthorized)...因为 crumb 是一个变量,所以我不知道如何将 r' 添加到开头。我尝试将 .encode('string-escape') 和 .replace('\\','\\\\') 添加到 crumb 变量,但我无法让它工作。

我的代码在 python 2.7 中看起来像这样:

cj = cookielib.CookieJar()
opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj))
opener.open('http://www.sample.com')

#Some code here that looks for crumb code in HTML

crumb = 'abc\xyz'

#This line fails when crumb contains a backslash
opener.open('http://www.sample.com/data=' + crumb)

cj.clear()

有谁知道在尝试打开包含反斜杠的 URL 字符串时如何避免 401 错误?

此外,如果我循环遍历多个面包屑,是否有必要每次都清除 session cookie?

更新:事实证明,反斜杠是从 HTML 中的\u002F 引入的。我相信如果我在将字符串添加到 URL 之前将它们转换为正斜杠,它就会起作用。如何将字符串中的\u002F 转换为/?

最佳答案

因为您不能使用 crumb = r'abc\xyz'。我相信 str.encode('string-escape') 函数可能会有所帮助。尝试:

crumb = 'abc\xyz'
crumb.encode('string-escape')

关于将带有反斜杠字符的变量添加到 URL 字符串时出现 Python 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44761693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com