如果我独立运行程序,Urllib2运行正常,但当我将它添加到cronjob时抛出错误

时间:2013-02-12 07:10:30

标签: python urllib2 python-2.6

url = "www.someurl.com"

request = urllib2.Request(url,header={"User-agent" : "Mozilla/5.0"})

contentString = urllib2.url(request).read()

contentFile = StringIO.StringIO(contentString)

for i in range(0,2):
    html = contentFile.readline()

print html

上面的代码从命令行运行正常,但如果我将它添加到cron作业,则会抛出以下错误:

  File "/usr/lib64/python2.6/urllib2.py", line 409, in _open
    '_open', req)
  File "/usr/lib64/python2.6/urllib2.py", line 369, in _call_chain
    result = func(*args)
  File "/usr/lib64/python2.6/urllib2.py", line 1186, in http_open
    return self.do_open(httplib.HTTPConnection, req)
  File "/usr/lib64/python2.6/urllib2.py", line 1161, in do_open
    raise URLError(err)
urllib2.URLError: 

我确实在其他论坛上查看了一些提示并试了一下,但它没用。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

crontab和命令行使用的环境变量不同。

我通过添加* / 15 * * * *来修复此问题。 $ HOME / .profile文件; /路径/到/命令。

这使得crontab可以获取为系统指定的enivronment变量。