2

我有一些代码可以在 Python 中加密一些字符串。加密文本在某些 url 中用作参数,但加密后,字符串中有反斜杠,我不能在 urllib2.urlopen 中使用单个反斜杠。

我不能用双反斜杠替换单反斜杠。例如:

print cipherText 

'\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb'

print cipherText.replace('\\','\\\\')

'\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb'

在替换语句中将 r 放在 \ 前面也不起作用。

我想做的就是调用那种网址:

http://awebsite.me/main?param="\t3-@\xab7+\xc7\x93H\xdc\xd1\x13G\xe1\xfb"

而且这个网址也可以成功调用:

http://awebsite.me/main?param="\\t3-@\\xab7+\\xc7\\x93H\\xdc\\xd1\\x13G\\xe1\\xfb"
4

1 回答 1

7

可能您看到的不是真正的“反斜杠字符”,而是不可打印(或非 ascii)字符的字符串表示形式。例如\t是 Tab,而不是反斜杠和t.

你应该建立你的网址

"http://awebsite.me/main?%s" % (urllib.urlencode({'param': cipherText}))
于 2010-05-20T23:25:26.747 回答