Задать вопрос
@MikeHax

Ошибка при запросе HTTP Error 406: Not Acceptable, в чем проблема?

Добрый день. Подскажите в чем проблема?
через urllib2 хочу получить информацию с микротика через вэб, делаю запрос, в итоге ошибка HTTP Error 406: Not Acceptableб ошибку гуглил - понять не могу как исправить
Вот код:
import os, re, json, pickle, time
import httplib, socket, urlparse
import urllib2

class Mikrotik():
    def __init__(self, host, login, passwd, realm='admin'):
        try:
            self.ip, self.host = host, 'http://' + host + '/webfig/'
            self.login, self.passwd, self.realm = login, passwd, realm
            self.opener = self._build_opener()
        except Exception as e:
            print e
            #exception_log.write('Exception in __init__(self, %s, %s, %s, %s): %s' % (host, login, passwd, realm, e))


    def _build_opener(self):
        try:
            auth_handler = urllib2.HTTPDigestAuthHandler()
            auth_handler.add_password(self.realm, self.host, self.login, self.passwd)
            print ("_build_opener = {}" .format(urllib2.build_opener(auth_handler)))
            return urllib2.build_opener(auth_handler)
        except Exception as e:
            print "Eror"
            print e
            #exception_log.write('Exception in _build_opener(self): %s' % (e))

    def _request(self, req):
        print ("{}" .format(self.host+req))
        try:
            try:
                request = self.opener.open(self.host + req, timeout=2)
                response = request.read()
                request.close()
                return response
            except (urllib2.URLError, httplib.HTTPException, socket.timeout) as e:
                print e
                try:
                    if e.code == 401:
                        return 401
                    else:
                        return 'N/A'
                except AttributeError:
                    return 'N/A'
        except Exception as e:
            print e


    def get_health(self):
        try:
            health = self._request('#Interfaces.Ethernet')
            return health
        except Exception as e:
            print e
            #exception_log.write('Exception in get_port_stats(self, %s): %s' % (port_num, e))
            return {}


test = Mikrotik("192.168.0.102", "admin", "Hesoyam12345")
d = test.get_health()
print d


вот ответ:
_build_opener = <urllib2.OpenerDirector instance at 0x0000000003B26948>
http://192.168.0.102/webfig/#Interfaces.Ethernet
HTTP Error 406: Not Acceptable
N/A


печатаю что отправляю в запрос 192.168.0.102/webfig/#Interfaces.Ethernet

пароль логин верны, на сам вэб захожу по этой ссылке
5dd2e0e7d5e25869835369.png
  • Вопрос задан
  • 569 просмотров
Подписаться 1 Средний 7 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы