如何传递“BeautifulSoup.Tag”谷歌应用程序引擎中http post请求内的对象?
我有一个 BeautifulSoup.Tag
对象,我想在 http post 请求中传输它。 具体来说,这是谷歌应用程序引擎中的任务将执行的请求。
这是代码:
taskqueue.add(url='/maintenance', method='post', params={'row': row})
当我在另一端收到请求时,参数row是一个unicode字符串。如何取回原来的对象?据我了解 json eval 不适用于这种类型的对象,那么还有另一种解决方案吗?我是否被迫仅传递简单的对象?
I have a BeautifulSoup.Tag
object which I want to transfer in an http post request.
Specifically this is a request a task in google app engine would perform.
This is the code:
taskqueue.add(url='/maintenance', method='post', params={'row': row})
When I receive the request on the other end, the parameter row is a unicode string. How do I get my original object back? As I undersand json eval won't work for this kind of object, so is there another solution Am I compelled to pass simple objects only?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
嗯。美汤是一种评价者。这样我就可以发送对象的 html 并重用漂亮的汤。
我这样做是这样的:
taskqueue.add(url='/maintenance', params={'element': str(myObject)})
然后在任务本身内重用 soup:
Hmmm. Beautiful soup is kind of an evaluator. So I can send the object's html and the reuse beautiful soup.
I did it this way:
taskqueue.add(url='/maintenance', params={'element': str(myObject)})
and then reused soup inside the task itself:
我想你可以尝试 python 的 pickle 函数通过字符串传递值。
http://docs.python.org/library/pickle.html
另一种方法是使用内存缓存。
只需将值存储到内存缓存并将密钥传递给任务即可。
例如
,然后在任务处理程序中,只需再次从内存缓存中获取值即可。
(事实上,google appengine也使用pickle在memcache中存储值)
I guess you can try python's pickle functions to pass the value by string.
http://docs.python.org/library/pickle.html
Another way will be use memcache.
just store the value to memcache and pass the key to tasks.
for example
then in the task handlers, just get the value from memcache again.
(in fact, google appengine also used pickle to store value in memcache)