0

在我网站的某些部分,我将允许用户输入 URL。我正在研究appengine,所以我想的是像这样验证它。

try
    response = urlfetch.fetch(url,follow_redirects=True, deadline=1)
    if not response.status_code==200:
       raise SomeCustomException
except: Exception as e:
    my_exception_handling_code(e)

好处

  • 自动检查 url 模式
  • 还确保网址没有损坏,加载时间不超过 1 秒,有助于确保在单击我的网站上的链接时获得良好的用户体验。

我可以看到可能的缺点:

  • 请求必须等待获取完成。这可能不是什么大问题,因为用户可以输入 URL 的情况很少(目前仅在注册时)。
4

2 回答 2

2

这是一个坏主意。正如 S. Lott 指出的那样,url 现在可能不可用。或者它可能仅可从某些特定子网获得。或者加载它超过 1 秒。只是不要这样做。使用传统方法,例如urlparse.

于 2012-02-27T21:03:40.657 回答
1

如果您网站的用户发现您每次发布 URL 时都会对 URL 进行投票,他们可能会利用该 URL 进行其他目的,例如在投票中投票或增加网页浏览量。

于 2012-02-28T19:20:15.600 回答