5 Replies Latest reply on Nov 8, 2013 5:01 AM by deepak_yadav

    Python 2.7.3 and Web Scripting Guide.

      I am not sure why the Web Scripting guide can not be a complete guide.   The paragraph "Python client software requirement" is badly misleading.   It makes not mention of the more complete setup instructions in the download page.  It would be nice if it refered one there or even better if it repeated the information.  It would avoid having to look multiple places for things.  Most guides are complete


      This section makes no mention of the other files that need to be copied over to an Python 2.7.3 installation.


      There is also an known issue with task 2 on page 14.  I found a discussion on the forums about this from quite number of months ago.  


      It does not take a lot of time or expense to update on line documentation.   Keeping the doc's current would save us customers a lot of time.




      Herb Smith

        • 1. Re: Python 2.7.3 and Web Scripting Guide.

          This must belong in ePO 4.6 API, don't know how it ended up in the Community Interface Help section. So I've moved it.

          • 2. Re: Python 2.7.3 and Web Scripting Guide.

            Here are the steps I use to set up a system running python for use with ePO Web API

            1.  Download and install Python 2.7.x  http://www.python.org

            2.  Add C:\python27 to the PATH system environment variable

            3.  From the downloaded python pacakge via the ePO software manager. extract and copy mcafee.py and urlquote.py to the C:\python27\lib directory

            4.  Install the modules from comand prompt using "python mcafee.py install" command and "python urlquote.py install" command.

            5. Verify web API funciton using the following script. *requires getpass module



            #Torry Campbell

            #McAfee Inc. 2012


            #Test web API connection to server



            #Import required modules


            import mcafee

            import string

            import getpass

            from mcafee import CommandInvokerError



            print "\n"


            while ePOServer=='':

                ePOServer=raw_input('Please input your ePO Server name or IP: ')




            while ePOPort=='':

                ePOPort=raw_input('Please input your ePO Server name or IP: ')




            while ePOUsername=='':

                ePOUsername=raw_input('Please input your ePO User Name: ')




            while ePOUserPwd=='':

                ePOUserPwd=getpass.getpass('Please input your ePO User Password: ')



            print '------------------------------------------------------------------------------ '

            print 'Testing server connectivity.....\n'


                mc = mcafee.client(ePOServer, ePOPort, ePOUsername, ePOUserPwd)

                print "Success! " + ePOServer + " connected."


            except CommandInvokerError, ex:

                err = None

                if string.find(ex.msg, 'Errno 11004') != -1:

                    err = ePOServer + ' cannot find host'

                elif string.find(ex.msg, 'Errno 10060') != -1:

                    err = ePOServer + ' connection attempt timed out'

                elif string.find(ex.msg, 'Errno 10061') != -1:

                    err = regsrv + ' connection refused' # likely an incorrect port

                elif string.find(ex.msg, 'Error 401') != -1:

                    err = ePOServer + ' user unauthorized'


                    err = '(CommandInvokerError) ' + ex.msg

                print 'Error! %s' % (err)

            print '\nTesting server connectivity complete.'

            print '------------------------------------------------------------------------------ '

            • 3. Re: Python 2.7.3 and Web Scripting Guide.

              Torry... thank you for your steps to get started.


              FWIW, the second input in the connection test script is asking for a port, not the name/IP again.

              Also, Python 2.7 has getpass built-in... no need to install any additional modules.

              • 4. Re: Python 2.7.3 and Web Scripting Guide.

                Hello Torry...


                import mcafee


                mc = mcafee.client('epo-windows','8443','admin','Infyepo@123')




                I am using python 3.3.2, and using above code to connect to epo server.

                My epo server is on one romote machine.

                I am trying to connect to that epo server from local machine. But getting following excetion. Can you please suggest me,where I am wrong?




                Traceback (most recent call last):

                  File "C:\Python33\lib\urllib\request.py", line 1248, in do_open

                    h.request(req.get_method(), req.selector, req.data, headers)

                  File "C:\Python33\lib\http\client.py", line 1061, in request

                    self._send_request(method, url, body, headers)

                  File "C:\Python33\lib\http\client.py", line 1099, in _send_request


                  File "C:\Python33\lib\http\client.py", line 1057, in endheaders


                  File "C:\Python33\lib\http\client.py", line 902, in _send_output


                  File "C:\Python33\lib\http\client.py", line 840, in send


                  File "C:\Python33\lib\http\client.py", line 1194, in connect

                    self.timeout, self.source_address)

                  File "C:\Python33\lib\socket.py", line 417, in create_connection

                    for res in getaddrinfo(host, port, 0, SOCK_STREAM):

                socket.gaierror: [Errno 11004] getaddrinfo failed


                During handling of the above exception, another exception occurred:


                Traceback (most recent call last):

                  File "C:\Python33\lib\mcafee.py", line 305, in get_response

                    sock = self.create_socket(url, fileargs)

                  File "C:\Python33\lib\mcafee.py", line 375, in create_socket

                    return self.opener.open(url)

                  File "C:\Python33\lib\urllib\request.py", line 469, in open

                    response = self._open(req, data)

                  File "C:\Python33\lib\urllib\request.py", line 487, in _open

                    '_open', req)

                  File "C:\Python33\lib\urllib\request.py", line 447, in _call_chain

                    result = func(*args)

                  File "C:\Python33\lib\urllib\request.py", line 1283, in https_open

                    context=self._context, check_hostname=self._check_hostname)

                  File "C:\Python33\lib\urllib\request.py", line 1251, in do_open

                    raise URLError(err)

                urllib.error.URLError: <urlopen error [Errno 11004] getaddrinfo failed>


                During handling of the above exception, another exception occurred:


                Traceback (most recent call last):

                  File "D:\PythonWorkspace\de.vogella.python.first\src\webapiscriptexample-1.py", line 4, in <module>

                    mc = mcafee.client('epo-windows','8443','admin','Infyepo@123')

                  File "C:\Python33\lib\mcafee.py", line 537, in __init__


                  File "C:\Python33\lib\mcafee.py", line 243, in save_token

                    response = self.get_response(url)

                  File "C:\Python33\lib\mcafee.py", line 313, in get_response

                    log_and_raise_error(logging.ERROR, 'Failed to reach the server %s:%s. Error/reason: %s' % (self.host,self.port,str(e)))

                  File "C:\Python33\lib\mcafee.py", line 92, in log_and_raise_error

                    raise CommandInvokerError(code, msg)

                mcafee.CommandInvokerError: Failed to reach the server epo-windows:8443. Error/reason: <urlopen error [Errno 11004] getaddrinfo failed>

                • 5. Re: Python 2.7.3 and Web Scripting Guide.

                  It says "Failed to reach the server epo-windows:8443"


                  Please try with ip-address of ePO