Skip to content

Add a custom session support#228

Merged
python273 merged 1 commit intopython273:masterfrom
sakost:master
Jul 6, 2019
Merged

Add a custom session support#228
python273 merged 1 commit intopython273:masterfrom
sakost:master

Conversation

@sakost
Copy link
Copy Markdown
Contributor

@sakost sakost commented Feb 24, 2019

Я думаю, что в vk_api не хватает явного указания proxy, headers, cookies и других параметров. Я сделал набросок кода, который будет устранять эту проблему. Надеюсь, что автор добавит это решение, т.к. лично мне в проектах уже какой раз требуется изобретать велосипед из-за того, что в данной библиотеке нет такой возможности по умолчанию.

@python273
Copy link
Copy Markdown
Owner

Это можно напрямую ставить

vk_session = VkApi(...)
vk_session.http.proxies = {...}

@sakost
Copy link
Copy Markdown
Contributor Author

sakost commented Feb 25, 2019

@python273 я так и делал в своих проектах, но считаю, что это, своего рода, костыли
В вашем примере мне бы пришлось разбираться в коде vk_api, чтобы понять, что так можно сделать
В моем же примере разбираться в коде данной библиотеки не требуется, т.к. все аргументы уже учтены.

Comment thread vk_api/vk_api.py Outdated
:param session: Кастомная сессия со своими параметрами(из библиотеки requests)
:type session: :class:`requests.Session`

:param session_args: Аргументы для создания requests сессии(не используются, если была передана кастомная сессия)
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Окей, давай оставим только session, а то session_args почти то же самое

Allow user to give a custom session object
@sakost
Copy link
Copy Markdown
Contributor Author

sakost commented Mar 5, 2019

Итак, я исправил.

Comment thread vk_api/vk_api.py
@@ -1,4 +1,4 @@
# -*- coding: utf-8 -*-
# -*- coding: utf-8 -*-
"""
Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Почему-то гитхаб изменение показывает. Возможно у тебя \r\n переносы, вроде должны быть \n

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

В GitKraken такого нет...

@DesSolo
Copy link
Copy Markdown

DesSolo commented Jun 28, 2019

+1
@python273 есть новости?

@python273 python273 merged commit 66b9349 into python273:master Jul 6, 2019
@Andryshik345
Copy link
Copy Markdown

А можно какой-то пример кода, как передавать свои параметры в session из скрипта?

@python273
Copy link
Copy Markdown
Owner

@Andryshik345

import requests
import vk_api

session = requests.Session()
session.headers.update(...)

vk_session = vk_api.VkApi(..., session=session)
...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants