@ru_python

Страница 8833 из 9768
Oleg
25.04.2019
10:49:12


Artyem
25.04.2019
10:49:14
Добрый день! Есть ли способ подключиться к SQL-БД и выгружать результаты запроса по частям?
ну смотря что за бд и их функционал, есть всякие сервер сайд курсоры, которые именно будут отдавать запрос по частям. можно простыми offset и limit обойтись

Henaro
25.04.2019
10:52:11
Jim Morrison
25.04.2019
10:52:30
Как в селениуме запускать хром в хэдлесс режиме (в одну строку)

Google
Jim Morrison
25.04.2019
10:52:33
?

Tigran
25.04.2019
10:52:35
да это руками писал, местами перепутал
ты запускаешь один код, а показываешь нам другой код. не надо так

Tishka17
25.04.2019
10:53:04
а читаешь как?

Henaro
25.04.2019
10:54:10


Oleg
25.04.2019
10:54:33
а читаешь как?
Создаю объект в main модуле database и cache, потом их передаю в set_cache и set_database

Как здесь



Tishka17
25.04.2019
10:55:15
не вижу тут чтения полей Logic

Henaro
25.04.2019
10:55:34


магия какая-то

Oleg
25.04.2019
10:57:53


Tigran
25.04.2019
10:58:22
магия какая-то
а вызываешь одинаково?

Oleg
25.04.2019
10:58:33
Этот код происходит уже внутри корутины

Google
Henaro
25.04.2019
10:59:15
а вызываешь одинаково?
да, на фронте банально: $.ajax({ type: "POST", url: "http://backend:8081/setbl", dataType: "json", contentType: "application/json", data: JSON.stringify({"number": $("#phone").val()}), success: (e) => {console.log(e)} });

Tigran
25.04.2019
10:59:35
? загадочно

ну можно подебажить в консольке хрома, один и тот же реквест ли отправляется

Henaro
25.04.2019
11:00:25
в хроме в консольке оно сначала говорит 500 (internal server error) а потом сразу ругается на CORS, но подозреваю, что это следствие

Tigran
25.04.2019
11:00:26
с хедерами, с вот этим всем

Tishka17
25.04.2019
11:00:36
что это? Что ткое тут cls? Давай уже целиком код

Oleg
25.04.2019
11:00:57
что это? Что ткое тут cls? Давай уже целиком код
У меня проблема - это всё в разных файлах(

Tishka17
25.04.2019
11:01:14
Henaro
25.04.2019
11:01:22
ну да, если не делать print(data['number']) - ругани на корс нет, т.к. оно обрабатывается на бэке

Maxim robox
25.04.2019
11:01:30
https://t.me/roboxv/30 Пользуясь случаем. =)

Tishka17
25.04.2019
11:02:20
чет не вижу разницы

Henaro
25.04.2019
11:02:27
в том и прикол

CORS хуком обрабатывается: @app.hook('after_request') def enable_cors(): response.headers['Access-Control-Allow-Origin'] = 'http://frontend' response.headers['Access-Control-Allow-Methods'] = 'GET, POST, OPTIONS' response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token'

Тимофей
25.04.2019
11:02:55
ну смотря что за бд и их функционал, есть всякие сервер сайд курсоры, которые именно будут отдавать запрос по частям. можно простыми offset и limit обойтись
Я использую psycopg2 для подключения к PostgreSQL-базе. Сейчас почитаю про сервер сайд курсоры, спасибо за наводку) У меня порядка 90кк строк, которые получаются из join'а двух таблиц. Я хотел бы сохранить результат всего запроса в несколько csv для дальнейшего анализа. Но результат запроса через connection + pandas.read_sql(chunksize=1 000 000) сохраняется в оперативную память, а уже потом делится на чанки, насколько я понимаю

LighteR
25.04.2019
11:04:12
https://t.me/roboxv/30 Пользуясь случаем. =)
есть ощущение, что человек не очень понимает какую проблему решает cors

Oleg
25.04.2019
11:04:17
Это main.py файл, который запускается https://pastebin.com/JxCSUdpF Это файл core/logic/api.py, в котором класс с логикой хранится https://pastebin.com/J8phYqTd

Stan
25.04.2019
11:04:48
Как посмотреть какие модули питона установленны? centos 7.6 python 27

Google
LighteR
25.04.2019
11:04:54
Кто?
автор

Maxim robox
25.04.2019
11:05:15
автор
Это я. Можешь высказывать.

Artyem
25.04.2019
11:05:42
а что, fetchone сделать нельзя?
http://initd.org/psycopg/docs/usage.html#server-side-cursors When a database query is executed, the Psycopg cursor usually fetches all the records returned by the backend, transferring them to the client process. If the query returned an huge amount of data, a proportionally large amount of memory will be allocated by the client. оно всё в память клиента прилетит

LighteR
25.04.2019
11:09:45
Это я. Можешь высказывать.
Там пример про инстаграм какой-то странный. CORS не для борьбы с тем чтобы сайты не размещали у себя инфу с других сайтов. CORS нужен чтобы сторонний js не мог получить приватные данные пользователей

any
25.04.2019
11:10:37
Всем привет! Немного не в тему, но может кто знает.. Можно ли запустить оконное приложение под линуксом написанное на питоне с помощью pyqt5 сразу после иксов без оконного менеджера?

Tishka17
25.04.2019
11:11:33
Henaro
25.04.2019
11:14:28
починил ?

дело таки было в cors

ебись они конём :(

any
25.04.2019
11:15:49
можно даже без иксов
Можно поподробнее? Может мануал есть какой-нибудь

Tishka17
25.04.2019
11:16:15
LighteR
25.04.2019
11:16:28
Как по мне, оба варианта верны.
нет, т.к. same origin policy относится только к ajax-запросам. Воровать контент вставляя ссылки на другой сайт никто не мешает

ну и загружать на стороне бэкенда тоже никто не мешает

Tishka17
25.04.2019
11:17:16
Maxim robox
25.04.2019
11:17:48
нет, т.к. same origin policy относится только к ajax-запросам. Воровать контент вставляя ссылки на другой сайт никто не мешает
Речь не про воровство контента, а про полноценный third party клиент. Скажешь, CORS этому не помеха?

ну и загружать на стороне бэкенда тоже никто не мешает
Только в таком случае этот бекенд легко забанить. В моем посте об этом есть.

Google
LighteR
25.04.2019
11:18:54
Речь не про воровство контента, а про полноценный third party клиент. Скажешь, CORS этому не помеха?
помеха только в том случае, если этот third party клиент работает в браузере поддерживающим same origin policy

LighteR
25.04.2019
11:19:53
Только в таком случае этот бекенд легко забанить. В моем посте об этом есть.
легко забанить только до тех пор пока твой контент не начинают парсить ботнеты

Tigran
25.04.2019
11:20:02
А какой не поддерживает из актуальных?
Приложение своё, например

Maxim robox
25.04.2019
11:20:47
Вот бы обсуждать CORS в контексте не браузеров.

Tishka17
25.04.2019
11:21:10
Типичный кейс: аджакс посылается на свой сервер, а тот уже лезет на сторонний

Maxim robox
25.04.2019
11:21:28
Tishka17
25.04.2019
11:21:33
Угу

Не читал

any
25.04.2019
11:21:49
Maxim robox
25.04.2019
11:24:41
легко забанить только до тех пор пока твой контент не начинают парсить ботнеты
Third party client через ботнет проксей? Случай маловероятный. И даже в этом случае это не та задача, которую должен решать CORS.

LighteR
25.04.2019
11:29:11
Third party client через ботнет проксей? Случай маловероятный. И даже в этом случае это не та задача, которую должен решать CORS.
Third party client через ботнет проксей? Да, крупные сайты так и парсят И даже в этом случае это не та задача, которую должен решать CORS. Ну собственно same origin решает только проблему получаения пользовательских данных (требующих пользовательской cookie). Проблему размещения у себя на сайте ворованного контента он не решает

LighteR
25.04.2019
11:30:51
Ты опять пытаешься пропихнуть в обсуждание парсинг, про который я вообще нигде ничего не говорил.
ты говорил что один сайт берет данные с другого сайта и показывает пользователю, напихав туда рекламы

Maxim robox
25.04.2019
11:32:11
ты говорил что один сайт берет данные с другого сайта и показывает пользователю, напихав туда рекламы
Говорил про third party client. Это, все же, не решается парсингом через ботнет.

LighteR
25.04.2019
11:32:45
Говорил про third party client. Это, все же, не решается парсингом через ботнет.
т.е. пользователь вводит туда свои логин/пароль и получает свои пользовательские данные через third party клиент?

Alex
25.04.2019
11:32:48
имхо какой-то сферический пример в вакууме

мы все понимаем зачем нужна Same Origin Policy

Google
Maxim robox
25.04.2019
11:33:09
Наверное, надо пояснить, что под клиентом здесь я имею в виду полноценное приложение, а не сайт с пизженным контентом.

Alex
25.04.2019
11:33:12
и какие задачи безопасности она решает

LighteR
25.04.2019
11:34:35
Да.
ну так same origin никак не помешает в этом third party сделать запрос с бэкенда

у него все необходимое для доступа есть

Alex
25.04.2019
11:35:34
собственно CORS всего лишь позволяет добавить легальное исключение для этого правила, чтобы разнести свои сервисы на разные домены.

Maxim robox
25.04.2019
11:36:11
ну так same origin никак не помешает в этом third party сделать запрос с бэкенда
Зачем ты мне это объясняешь? Я в курсе. Это бекенд, это сервер и с этим что-то можно пытаться сделать. Без same origin + cors с этим в принципе невозможно было бы ничего сделать.

Alex
25.04.2019
11:36:12
при этом обеспечив защиту от 3rd party сайта, который пробует сделать Cross-Origin запрос, не важно зачем.

LighteR
25.04.2019
11:38:16
при этом обеспечив защиту от 3rd party сайта, который пробует сделать Cross-Origin запрос, не важно зачем.
да, и предназначено это для того чтобы никто не мог получить доступ к пользовательским данным без его ведома

Maxim robox
25.04.2019
11:38:47
у него все необходимое для доступа есть
Давай с начала. Ты говоришь, что пример плохой. Почему? Разве там что-то неправильно?

Единственное мое упущение — в терминологии напутано. Надо было упомянуть про same origin. С этим соглашусь.

LighteR
25.04.2019
11:40:50
Давай с начала. Ты говоришь, что пример плохой. Почему? Разве там что-то неправильно?
Давай так: без same origin была бы возможна атака, которая похищает/изменяет данные пользователя на другом ресурсе без его ведома. Если пользотель сам отдал свой пароль стороннему приложению, то считай что приложение уже получило доступ к пользовательским данным, и никакой same origin тут уже ничем не поможет

LighteR
25.04.2019
11:46:41
Ну я все это не оспариваю. Но вопрос был про пример. А ты рассказываешь про другой кейс.
`Пользователь открывает Васин веб-клиент по адресу plesnigram.com, веб-клиент шлёт запросы на api.instagram.com. Можно гребсти бабло лопатой, паразитируя на чужой инфраструктуре. А инстаграм сидит и локти на ногах кусает — никак Васин клиент не заблокируешь же. У его пользователей айпишники-то разные. А больше никакой инфы и нет в request. ` CORS это тот механизм защиты, который не даёт Васям писать подобные клиенты без разрешения инстаграмма. Вот пример сводится к тому, что same origin это способ защититься от написания thrird party клиентов

А больше никакой инфы и нет в request. вообще-то есть: referer

по referer'у можно даже вставление всякой статики блокировать

Maxim robox
25.04.2019
11:48:01
А больше никакой инфы и нет в request. вообще-то есть: referer
Который контроллируется на клиенте?

LighteR
25.04.2019
11:48:35
Maxim robox
25.04.2019
11:48:45
в браузере?
Ну да. Разве нет?

https://stackoverflow.com/questions/6817595/remove-http-referer

LighteR
25.04.2019
11:50:28
https://stackoverflow.com/questions/6817595/remove-http-referer
ну там только про то, что можно не отправлять его

Страница 8833 из 9768