
Rookie
02.01.2017
15:12:26
А 404 обрабатываете хендлерами джанги?

b0g3r
02.01.2017
15:13:52
оно?
http://stackoverflow.com/questions/9097404/django-is-redirecting-from-https-to-http

Danil
02.01.2017
15:13:55
Честно - не знаю. Впервые с django работаю, проект уже написан был. Но думаю что да.

Google

Danil
02.01.2017
15:17:06

Rookie
02.01.2017
15:18:12
Меня смущает место, что корректный урл отдает https, а неверный нет.

Danil
02.01.2017
15:20:17
Только в эти двух кейсах:
Первый:
1. Открываю https://secure.example.com/admin авторизованные
2. Перенаправляет на http://secure.example.com/admin/ вместо https://secure.example.com/admin/
Второй:
1. Открываю https://secure.example.com/admin/ не авторизованный
2. Перенаправляет на http://secure.example.com/admin/login/?next=/admin/ вместо https://secure.example.com/admin/login/?next=/admin/

Rookie
02.01.2017
15:29:20
http://security.stackexchange.com/questions/8964/trying-to-make-a-django-based-site-use-https-only-not-sure-if-its-secure
Это всё есть?

Pavel
02.01.2017
15:31:08
если есть Nginx, зачем в джанге проверять http или https? Делать редирект на nginx, и горя не знать

Danil
02.01.2017
15:31:41

Rookie
02.01.2017
15:31:50
У него апач

Denis
02.01.2017
15:32:27
У меня раньше апач стоял, я перешел на nginx+uwsgi, стало сильно проще

Rookie
02.01.2017
15:39:40
https://code.djangoproject.com/ticket/12043
Собсна, в тикете джанги говорят то же самое, что выше в ссылке на СО

b0g3r
02.01.2017
15:46:09
хочу выводить latex-красоту в свой pyqt-интерфейс
обязательно тащить matplotlib?

Google

b0g3r
02.01.2017
15:47:31
не сказать что я сильно против, но если есть другие рендеры - буду рад

Danil
02.01.2017
15:51:28
HTTP_X_FORWARDED_PROTO не помогает.
wsgi нету

Rookie
02.01.2017
15:54:17
Первый:
1. Открываю https://secure.example.com/admin авторизованные
When I set up a test server without an http-to-https redirect, I noticed that some requests end up being redirected to an http address - similar to what you describe, but in my case it was just for one particular link. After looking into the request and response headers, I found out: The initial request https://example.org/test got redirected by Django/gunicorn with 301 MOVED PERMANENTLY to http://exmaple.org/test/. nginx then responded with 400 Bad Request - The plain HTTP request was sent to HTTPS port.
Quickly I came across a setting I had not paid much attention to before: APPEND_SLASH (https://docs.djangoproject.com/en/1.6/ref/settings/#std:setting-APPEND_SLASH) with the default value True.

Danil
02.01.2017
15:55:58
Ну если выключить append slash, то будет оставаться на неверной странице ведь?

Igor
02.01.2017
16:04:02
Вечер добрый!
Может кто дать совет по потокам и сессиям?

Pavel
02.01.2017
16:05:07

Igor
02.01.2017
16:05:22
Отлично, тогда о проблеме:
Есть функция, которая логиниться на сайт, возвращая сессию (requests.Session)
есть 12 потоков, которые получают эту сессию, перехододят по ссылкам, находят данные и возвращают результат
это в мечтах
на практике - получаю исключение read timeout error, если задаю таймаут (7 секунд, к примеру)
либо же долгое ожидание результата, если без

Denis
02.01.2017
16:12:25
Возможно, сайт не хочет отдавать в несколько потоков

Igor
02.01.2017
16:13:15
странность в чем - если нужные данные есть на странице, то ошибок нет, скорость хорошая
если данных нет - длинное ожидание
что пробовал:
- с прокси/без прокси
- использовать не сессию целиком, а только куки, которые сайт сохраняет после логина
- использовать lock
*использовать lock на получение сессии потоком

Denis
02.01.2017
16:14:09
Профайлер пробовал?

Google

Igor
02.01.2017
16:14:16
а разве он не отдал бы хоть какой-то код возврата?

Denis
02.01.2017
16:14:35
Хз, от сайта зависит

Igor
02.01.2017
16:15:33
ладно, тогда скажем Charles мне не поможет посмотреть что же происходит с сессией?

Denis
02.01.2017
16:15:56
Это чо такое?

Igor
02.01.2017
16:16:39
отладочный прокси

Denis
02.01.2017
16:16:51
Ну попробуй

Igor
02.01.2017
16:17:58
хорошо, а в оригинале, как такие вещи делать правильно?
сессия она же thread-safe, но только при определенных условиях?

Denis
02.01.2017
16:18:49
Хз, я с одной сессией из нескольких потоков не работал
Может дело вообще не в ней

Igor
02.01.2017
16:19:55
единственное, что в голову еще приходит - попытаться логиниться из каждого потока

Denis
02.01.2017
16:20:12
Попытайся

Pavel
02.01.2017
16:20:13

Igor
02.01.2017
16:22:12
к примеру: если данные (о них ниже) на странице присутствуют - скрипт выполняется за 3-4 секунды. Если данных нет - 12-15 секунд ожидания
данные - просто пара значений в табличке
к примеру - marketvolume.com/stocks/value.asp?s=AAPL
попытка получить эту страницу отработает как надо
marketvolume.com/stocks/value.asp?s=BABL
а вот эта повесит скрипт на эти 12-15 секунд

Denis
02.01.2017
16:24:19
У меня она из браузера дольше открывается

Google

Igor
02.01.2017
16:24:29
запросы к страницам делаю так:
response = requests.get(BASE_URL, headers=HEADERS, proxies=proxy_srv, cookies=session_cookies)
таймаут забыл
для первой ссылки запрос вернет ответ со статусом 200
дла второй - исключение
причем через браузер обе страницы возвращают статус 200

Pavel
02.01.2017
16:25:34

Igor
02.01.2017
16:27:45
Marketvolume error: HTTPConnectionPool(host='marketvolume.com', port=80): Read timed out. (read timeout=7)

Admin
ERROR: S client not available

Denis
02.01.2017
16:28:11
timeout=100500 сделай

Igor
02.01.2017
16:29:04
можно вообще без timeout'а, но это в ~ 3 раза увеличивает время ожидания

Pavel
02.01.2017
16:29:25
вообще, есть сочетания 4 букв, которые бы не были компанией?

Igor
02.01.2017
16:29:52
есть, но страница все равно будет возвращена, только без таблицы

Pavel
02.01.2017
16:30:34
вопрос снимаю, они не залогиненым показывают заглушку на любое сочетание букв.

Igor
02.01.2017
16:31:46
Last Market Price гляньте, даже не залогиненым
будет просто значение ноль
не суть важно что на странице, я просто не понимаю - либо я делаю что-то принципиально не правильно, либо сайт как-то хитро это отдает
просто в браузере замерить скорость - для существующей компании загрузка страницы за 3.2 сек
для отсутствующей - 3.7

Artem
02.01.2017
16:33:35
неужели нет апи адекватного с этими данными?

Igor
02.01.2017
16:33:58
скрипт для первого случая так и отработывает, для второго ждет больше десяти секунд

Google

Igor
02.01.2017
16:34:19

Pavel
02.01.2017
16:35:54

Igor
02.01.2017
16:37:11
вариант конечно, хотя с наскока я и не вспомню как им пользоваться
спасибо за совет.
и еще одно - верно ли я понимаю, что сервер, если не отдает код ответа, то просто закрывает сокет и по этому запрос не возвращает никакого ответа и вообще отваливаеться по таймауту?

Denis
02.01.2017
16:51:50
Типа "Remote end closed connection without response"

Igor
02.01.2017
16:53:16
Хм, может в requests это исключение подавляется, если задан тайм-аут?

Rocket
02.01.2017
16:55:54

Denis
02.01.2017
17:07:50
А ты логи смотри

Igor
02.01.2017
17:38:27
вижу в логах коннекты и прочее, но ошибка тайм-аута не попадает сюда
при этом ошибка перехватывается try/except
мистика прям

Andrei
02.01.2017
17:54:10
ребят порекомендуйте материал по работе с Mysql с Python 3
Я ток учу питон и в книжке почему то сразу идет django но мне бы хотелось без фреймворков с базой поработать.

Kolyann
02.01.2017
17:59:13
http://stackoverflow.com/questions/4960048/python-3-and-mysql

Denis
02.01.2017
18:02:32
Use SQLite, Luke

unknown
02.01.2017
18:09:45
Классно