1

我有几个不同的应用程序需要我将文件从 Google App Engine 发布到远程站点。我用 urllib2 尝试了一些方法,但是当我将代码移到 GAE 中时,我遇到了每种方法的问题。

将文件(csv、zip 等)从 Google App Engine 发布到远程网站的最简单方法是什么?一旦我可以发布现有文件,我就可以继续从数据存储中发布文件。

4

2 回答 2

2

你有没有看过urlfetch来自docs的示例。

import urllib

from google.appengine.api import urlfetch

with open('/file', 'r') as f:
    data = f.read()

result = urlfetch.fetch(url=url,
                        payload=data,
                        method=urlfetch.POST,
                        headers={'Content-Type': 'application/x-www-form-urlencoded'})
于 2012-09-24T05:30:41.873 回答
0

参考

payload:POSTPUT请求的正文内容。

所以只需加载文件的内容并将有效负载设置为 la

with open(filename, 'r') as fh:
  payload = fh.read()
response = urlfetch.fetch(url, payload=payload, method='POST')

做你想做的事response

这将与数据存储对象中的字符串以完全相同的方式工作。

编辑:filename可能是相对于您的项目的路径。因此,如果您的项目位于/home/dinosaurs/sinclair本地计算机上并且您/home/dinosaurs/sinclair/stuff/contents.xml的项目中有,那么将在 App Engine 上用于生产的相对路径是stuff/contents.xml.

于 2012-09-24T22:19:18.367 回答