Новости | FAQ | Авторы | Документация | В действии | Библиотека |
Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
G_Z 15.11.2017 07:13 / 15.11.2017 07:14
Интересно как другие библиотеки, тот же urllib с такими заголовками поступает.Ни urllib2, ни httplib заголовки не декодируют:
import httplib conn = httplib.HTTPSConnection('…') conn.request('HEAD', '/') res = conn.getresponse() print res.getheaders()
[('x-powered-by', 'PHP/5.5.9-1ubuntu4.21'), ('set-cookie', 'PHPSESSID=7ucaotqtg1rrj5emf5oeuh6fh4; path=/; HttpOnly, _csrf=4ebb94289bf561ccf8715125686d799dd0d021323338b97a2a206491e154841ca%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22f%AF%28%EC%83%22b%E0%C4%BE%91%90%94%BEX6%B9%D3%95%C9C%26%040%A6%B5%F3%A0%9B%9C%5D%E1%22%3B%7D; path=/; httponly'), ('expires', 'Thu, 19 Nov 1981 08:52:00 GMT'), ('server', 'nginx/1.4.6 (Ubuntu)'), ('connection', 'keep-alive'), ('pragma', 'no-cache'), ('cache-control', 'no-store, no-cache, must-revalidate, post-check=0, pre-check=0'), ('date', 'Tue, 14 Nov 2017 23:45:16 GMT'), ('content-type', 'text/html; charset=UTF-8')]Решил проверять значения cookie на вшивость и просто выбрасывать некорректно закодированные значения.
^try{ $s[^string:js-unescape[4ebb94289bf561ccf8715125686d799dd0d021323338b97a2a206491e154841ca%3A2%3A%7Bi%3A0%3Bs%3A5%3A%22_csrf%22%3Bi%3A1%3Bs%3A32%3A%22f%AF%28%EC%83%22b%E0%C4%BE%91%90%94%BEX6%B9%D3%95%C9C%26%040%A6%B5%F3%A0%9B%9C%5D%E1%22%3B%7D]] ^s.lower[] }{ $exception.handled(true) ^json:string[$exception] }
{ "source":"lower", "file":"…", "lineno":3, "colno":12, "comment":"change_case_UTF8 error: end pointers do not match", "handled":true }