我在Python中有以下代码:

linkHTML = "<a href=\"page?q=%s\">click here</a>" % strLink


问题是,当strLink中包含空格时,链接显示为

<a href="page?q=with space">click here</a>


我可以使用strLink.replace(“”,“ +”)

但我确信还有其他字符可能会导致错误。我尝试使用

urllib.quote(strLink)


但这似乎没有帮助。

谢谢!
乔尔

最佳答案

确保使用urllib.quote_plus(string [,safe])替换加号的空格。

urllib.quote_plus(string[, safe])



  像quote()一样,但也替换空格
  加号(根据报价要求)
  建立表单时的HTML表单值
  查询字符串以进入URL。加
  原始字符串中的符号是
  逃脱,除非它们包含在其中
  安全。它也没有安全
  默认为'/'。


来自http://docs.python.org/library/urllib.html#urllib.quote_plus

理想情况下,您将使用urllib.urlencode函数,并向其传递一系列键/值对,例如{[“ q”,“带空格”],[“ s”,“带空格和其他”]}}等。

关于python - 与空间建立适当的联系,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2703638/

10-15 19:24