小编Har*_*son的帖子

Google Appengine发送电子邮件:[错误]未经授权的发件人

我正在尝试在我的网站上使用谷歌应用引擎的邮件服务.每当我访问发送电子邮件的页面时,它都会显示一些错误.错误说我正在使用未经授权的发件人来处理邮件.这是发送电子邮件的代码:

mail.send_mail(sender="myapp@appspot.gserviceaccount.com",
     to=input_dict["email"],
     subject="Mondays user activation",
     body=content)
Run Code Online (Sandbox Code Playgroud)

当我在本地尝试使用该网站(使用dev_appserver.py)时,它不会显示错误,但它不会发送电子邮件(注意:我必须在--enable_sendmail本地尝试时添加该选项).该错误仅在我发布网站时显示.

有人知道我做错了什么吗?在此先感谢您的帮助!

python email google-app-engine

13
推荐指数
2
解决办法
1万
查看次数

没有页面结构知识的Web抓取

我正在尝试通过编写脚本来教自己一个概念.基本上,我正在尝试编写一个Python脚本,在给定几个关键字的情况下,它将抓取网页,直到找到我需要的数据.例如,假设我想找一份居住在美国的恶意蛇列表.我可能会使用关键字运行我的脚本list,venemous,snakes,US,并且我希望能够相信至少80%的确定它将返回美国的蛇列表.

我已经知道如何实现web spider部分了,我只是想了解如何在不了解页面结构的情况下确定网页的相关性.我研究过网络抓取技术,但他们似乎都假设知道页面的html标签结构.是否有某种算法允许我从页面中提取数据并确定其相关性?

任何指针都将非常感激.我使用PythonurllibBeautifulSoup.

python beautifulsoup web-crawler web-scraping

7
推荐指数
2
解决办法
2153
查看次数

Flask文件处理:Werkzeug与Flask-Uploads

我正在尝试决定如何在我的烧瓶应用程序上实现图像上传功能.我目前正在使用Flask-Uploads来完成工作,它看起来效果很好.但是,我不知道它是否非常安全,这可能是一个巨大的问题,因为涉及文件上传.Flask-Uploads并没有提供有关其服务实施的详细信息,因此我没有通过查看文档获得任何见解.但是,我在Flask的官方文档中看到它们包含了一个使用Werkzeug的文件上传示例,它似乎有一些额外的方法用于文件安全性.我似乎无法在网上找到任何有关哪一个更安全的信息.有没有人在这里有更多的网络安全经验曾经检查过这些替代方案中的一个或两个,并在这个问题上得出明确的结论?

security file-upload werkzeug flask flask-uploads

5
推荐指数
1
解决办法
1396
查看次数

在Ubuntu上的mpi4py:找不到pyconfig.h

我试图在Ubuntu服务器上安装MPI和mpi4py,以测试我在我的mac上运行的一些python代码.我从源代码安装了OpenMPI,然后下载了mpi4py的tar并尝试运行python setup.py build.然而它失败了:

src/mpi4py.MPI.c:8:22: fatal error: pyconfig.h: No such file or directory

#include "pyconfig.h"

                  ^

compilation terminated.

error: command '/usr/local/bin/mpicc' failed with exit status 1
Run Code Online (Sandbox Code Playgroud)

我也试过安装MPICH sudo apt-get install libcr-dev mpich2 mpich2-doc然后运行setup,但它仍然给我同样的错误.

我在互联网上搜索但仍无法弄明白.

我的PATH上有一个我缺少的目录吗?

编辑:经过一些搜索后,似乎pyconfig.h应该在/usr/include/python2.7/.这是我的Mac上的情况,但是,当我ls 的Ubuntu服务器上的目录不包含pyconfig.h时.这是问题吗?

python installation ubuntu mpi mpi4py

2
推荐指数
1
解决办法
3768
查看次数

在谷歌应用程序引擎python上与memcache斗争

我一直在努力让memcache在我的应用程序上运行一段时间.我以为我终于让它工作了,它永远不会从数据库中读取(除非memcache数据当然丢失),只是因为数据存储区读数过多而导致我的网站关闭!我目前正在使用免费的appspot,并希望尽可能长时间保持这种状态.无论如何,这是我的代码,也许有人可以帮我找到它的漏洞.

我目前正在尝试通过重写db.Model.all(),delete()和put()方法来首先查询memcache来实现memcache.我有memcache设置数据存储区中的每个对象都有自己的memcache值,其id为密钥.然后,对于每个Model类,我都有一个知道如何查询的键下的id列表.我希望我能够清楚地解释这一点.

""" models.py """
         @classmethod
         def all(cls, order="sent"):
                 result = get_all("messages", Message)
                 if not result or memcache.get("updatemessages"):
                         result = list(super(Message, cls).all())
                         set_all("messages", result)
                         memcache.set("updatemessages", False)
                         logging.info("DB Query for messages")

                 result.sort(key=lambda x: getattr(x, order), reverse=True)
                 return result

         @classmethod
         def delete(cls, message):
                 del_from("messages", message)
                 super(Message, cls).delete(message)

         def put(self):
                 super(Message, self).put()

                 add_to_all("messages", self)



""" helpers.py """

 def get_all(type, Class):
         all = []
         ids = memcache.get(type+"allid")
         query_amount = 0
         if ids:
                 for id in ids:
                         ob = memcache.get(str(id))
                         if ob is None:
                                 ob …
Run Code Online (Sandbox Code Playgroud)

python google-app-engine memcached

0
推荐指数
1
解决办法
1475
查看次数