使用apache和mod_wsgi部署Django站点后出现套接字错误?

问题描述

| 我的网站中有一个后端函数,它将调用ѭ0来从url检索数据。部署后,除此功能外,所有其他功能均运行良好。调用此函数将得到
[Errno socket error] [Errno -2] Name or service not known
。似乎找不到主机。 但是,如果我使用“ 2”来运行该站点,则此功能可以很好地工作。 我想知道Apache是​​否可能有问题,但是如果找不到,我就找不到它。谢谢你的帮助。 这是功能:
WORD_URL = \'http://dict.cn/ws.php?utf8=true&q=%s\'

def get_word(word):
    url = WORD_URL % word
    dom = minidom.parse(urllib.urlopen(url))
    try:
        pron = dom.getElementsByTagName(\'pron\')[0].firstChild.data
        definition = dom.getElementsByTagName(\'def\')[0].firstChild.data
    except IndexError:
        pron = \'\'
        definition = \'\'
    return {
        \'word\':word,\'pron\':pron,\'definition\':definition
        }
这是回溯:
Traceback:
File \"/usr/lib/python2.7/site-packages/django/core/handlers/base.py\" in get_response
111.                         response = callback(request,*callback_args,**callback_kwargs)
File \"/home/jxq/djcode/wormo/core/views.py\" in added
31.             xml_word = get_word(new_word)
File \"/home/jxq/djcode/wormo/core/get_word.py\" in get_word
8.     dom = minidom.parse(urllib.urlopen(url))
File \"/usr/lib/python2.7/urllib.py\" in urlopen
84.         return opener.open(url)
File \"/usr/lib/python2.7/urllib.py\" in open
205.                 return getattr(self,name)(url)
File \"/usr/lib/python2.7/urllib.py\" in open_http
342.         h.endheaders(data)
File \"/usr/lib/python2.7/httplib.py\" in endheaders
937.         self._send_output(message_body)
File \"/usr/lib/python2.7/httplib.py\" in _send_output
797.         self.send(msg)
File \"/usr/lib/python2.7/httplib.py\" in send
759.                 self.connect()
File \"/usr/lib/python2.7/httplib.py\" in connect
740.                                              self.timeout,self.source_address)
File \"/usr/lib/python2.7/socket.py\" in create_connection
553.     for res in getaddrinfo(host,port,SOCK_STREAM):

Exception Type: IOError at /wormo/added/
Exception Value: [Errno socket error] [Errno -2] Name or service not known
httpd.conf:
WSGIScriptAlias / /home/jxq/djcode/wormo/apache/django.wsgi

<Directory /home/jxq/djcode/wormo/apache>
    Order allow,deny
    Allow from all
</Directory>

Alias /media/ /home/jxq/djcode/wormo/media/

<Directory /home/jxq/djcode/wormo>
Order deny,allow
Allow from all
</Directory>
Python 3和Python 2.7都在我的机器上。这有问题吗?     

解决方法

        这很可能是权限问题或Apache环境的其他问题。尝试使用简单的WSGI脚本作为基准来测试URL提取:
import sys
import urllib    

def application(environ,start_response):
   page_text = urllib.urlopen(\"http://www.google.com/\").read()
   start_response(\'200 OK\',[
     (\'Content-Type\',\'text/html\'),(\'Content-Length\',str(len(page_text))),])
   yield page_text
    

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...