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

标签 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: 

我确实在其他论坛上看过一些提示并尝试过,但没有用。

任何帮助将不胜感激。

最佳答案

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

我通过添加 */15 * * * * 解决了这个问题。 $HOME/.profile;/路径/到/命令。

这使得 crontab 能够获取为系统指定的环境变量。

关于python - 如果我独立运行程序,Urllib2 运行正常,但当我将其添加到 cronjob 时会抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14827296/

相关文章:

python - 从 python 列表中选取最高分

http - 如何将 Python urllib.request 代码翻译成 Java 代码

python - 在 Python 中判断 Host 是域名还是 IP

python - 在LinuxMint上安装python2.6

python - 使用python更改windows用户密码

python - 为什么 PyRun_String 不评估 bool 文字?

python - Django Rest Framework 线程安全吗?

python - 我如何阻止漂亮的汤在解析时跳过行?

regex - "UnicodeEncodeError: ' ascii ' codec can' t 编码字符"

python - 带有命令行参数的 Nose 测试脚本