【发布时间】:2012-08-11 20:53:10
【问题描述】:
在 web2by 构建的缩短器中,我想首先验证 url,如果它无效返回到第一页并显示错误消息。这是我在控制器(mvc 架构)中的代码,但我不明白出了什么问题..!!
import urllib
def index():
return dict()
def random_maker():
url = request.vars.url
try:
urllib.urlopen(url)
return dict(rand_url = ''.join(random.choice(string.ascii_uppercase +
string.digits + string.ascii_lowercase) for x in range(6)),
input_url=url)
except IOError:
return index()
【问题讨论】:
-
这是完整的代码吗?我看不到任何输入 URL(即表单)的方法。此外,您需要导入随机数和字符串。如果你能描述你的期望、你得到什么,并显示任何其他相关代码(例如,一个视图),这将有所帮助。
-
用正则表达式检查网址不是更好吗,看看这个:stackoverflow.com/a/11967815/1248554
-
不需要正则表达式,因为 web2py 已经包含一个 IS_URL 验证器。不过,我假设 OP 想要确认 URL 指向一个实时站点,而不仅仅是它是一个格式正确的 URL。
-
谢谢 4,当我使用 urllib.urlopen 时,它会打开到网站的连接,就像 httplib.HTTPConnect 一样,但问题是当用户输入类似 jfvbhsjdfvbs.com的内容时会发生什么>
-
问题是我应该如何处理非响应式网页..httplib..urllib.. 或其他一些。否则..