在google appengine中:
urlfetch.fetch('http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|12|h|FFFFFF|_|Tested: 21 Dec') works fine.
但是当我这样做的时候:
text = 'Tested: 21 Dec' // This ia a variable
my_url = 'http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|12|h|FFFFFF|_|'+text
urlfetch.fetch(my_url)
现在这给了400 error
。我意识到这不是在|
之后识别字符。因此,这只会调用'http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|
有什么建议吗?
答案 0 :(得分:2)
不确定这是否是问题所在,但您应该在使用它们构建url之前对字符串进行编码:
import urllib
text = urllib.quote_plus('Tested: 21 Dec') // This ia a variable
my_url = 'http://chart.apis.google.com/chart?chst=d_text_outline&chld=000000|12|h|FFFFFF|_|%s' % text
urlfetch.fetch(my_url)
同样在大多数情况下,最好使用字符串格式'... %s' % (a,b)
或''.join([a, b])
代替a + b
。