Closed sadok closed 9 years ago
Соответственно в request.py
- self.set_status(http.client.UNAUTHORIZED)
+ self.set_status(401)
помогло
Добрый день. Прошу прощения, но я не понял, в чем проблема. Насколько вижу я, HTTP/1.1 401 Unauthorized
как раз возвращается:
$ http -v http://localhost:8002/vk.rss
GET /vk.rss HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: localhost:8002
User-Agent: HTTPie/0.8.0
HTTP/1.1 401 Unauthorized
Content-Length: 0
Content-Type: text/html; charset=UTF-8
Date: Thu, 01 Oct 2015 12:48:00 GMT
Server: TornadoServer/4.1
Www-Authenticate: Basic realm="Please enter VK access_token in password box."
$ wget -S http://localhost:8002/vk.rss
--2015-10-01 15:48:03-- http://localhost:8002/vk.rss
Resolving localhost (localhost)... ::1, 127.0.0.1
Connecting to localhost (localhost)|::1|:8002... connected.
HTTP request sent, awaiting response...
HTTP/1.1 401 Unauthorized
Content-Type: text/html; charset=UTF-8
Content-Length: 0
Www-Authenticate: Basic realm="Please enter VK access_token in password box."
Date: Thu, 01 Oct 2015 12:48:03 GMT
Server: TornadoServer/4.1
Username/Password Authentication Failed.
@KonishchevDmitry
# uname -a
FreeBSD 10.2-RELEASE
Вот при установке на чистый сервер чего-то перестало хватать. А я в python не силен, и чего не хватает - понять не могу. Очевидно, какой-то библиотеки, которая "HTTPStatus.UNAUTHORIZED" преобразует в валидный ответ.
Только вышеприведенный костыль помог.
А вы уверены, что вам помог именно этот костыль? Я просто не вижу ни одной причины, как он мог помочь, т. к. http.client.UNAUTHORIZED
- это как раз и есть число 401:
$ grep UNAUTHORIZED /usr/local/Cellar/python3/3.4.3/Frameworks/Python.framework/Versions/3.4/lib/python3.4/http/client.py
UNAUTHORIZED = 401
@KonishchevDmitry
Забавно (напомню, что у меня FreeBSD):
# pwd
/
# find . -type f -name client.py -ls
197471 49 -rw-r--r-- 1 root wheel 48236 Oct 1 13:03 ./usr/local/lib/python3.5/xmlrpc/client.py
165991 49 -rw-r--r-- 1 root wheel 47853 Oct 1 13:03 ./usr/local/lib/python3.5/http/client.py
# grep -i UNAUTHORIZED /usr/local/lib/python3.5/http/client.py
# grep -i UNAUTHORIZED /usr/local/lib/python3.5/xmlrpc/client.py
Вообще никакого упоминания.
Мда. Действительно - в Python 3.5 эту константу убрали. Спасибо, поправил в https://github.com/KonishchevDmitry/social-rss/commit/16a818c90e44b662f46e8f017eb0e23093fa4d67.
Добрый день. Проверяю работу:
wget -S http://localhost:8888/vk.rss
и вместо
HTTP/1.1 401 Unauthorized
получаю строку в заголовке. Соответственно моя читалка не понимает, что нужен пароль (tt-rss). Причем на старом серврер все работало. Вопрос: почему не возвращается 401, а вместо него вот такой буквенный статус? Видимо чего-то не хватает, хотя ставил все по README.md