1
0
mirror of https://github.com/eternnoir/pyTelegramBotAPI.git synced 2023-08-10 21:12:57 +03:00

Merge remote-tracking branch 'origin/proxySupport'

This commit is contained in:
eternnoir 2017-07-01 11:06:05 +08:00
commit 514880fe22
2 changed files with 23 additions and 1 deletions

View File

@ -25,6 +25,7 @@
* [The listener mechanism](#the-listener-mechanism) * [The listener mechanism](#the-listener-mechanism)
* [Using web hooks](#using-web-hooks) * [Using web hooks](#using-web-hooks)
* [Logging](#logging) * [Logging](#logging)
* [Proxy](#proxy)
* [F.A.Q.](#faq) * [F.A.Q.](#faq)
* [Bot 2.0](#bot-20) * [Bot 2.0](#bot-20)
* [How can I distinguish a User and a GroupChat in message.chat?](#how-can-i-distinguish-a-user-and-a-groupchat-in-messagechat) * [How can I distinguish a User and a GroupChat in message.chat?](#how-can-i-distinguish-a-user-and-a-groupchat-in-messagechat)
@ -492,6 +493,26 @@ logger = telebot.logger
telebot.logger.setLevel(logging.DEBUG) # Outputs debug messages to console. telebot.logger.setLevel(logging.DEBUG) # Outputs debug messages to console.
``` ```
### Proxy
You can use proxy for request. `apihelper.proxy` object will use by call `requests` proxies argument.
```python
from telebot import apihelper
apihelper.proxy = {'http', 'http://10.10.1.10:3128'}
```
If you want to use socket5 proxy you need install dependency `pip install requests[socks]`.
```python
proxies = {
'http': 'socks5://user:pass@host:port',
'https': 'socks5://user:pass@host:port'
}
```
## F.A.Q. ## F.A.Q.
### Bot 2.0 ### Bot 2.0

View File

@ -19,6 +19,7 @@ from telebot import util
logger = telebot.logger logger = telebot.logger
req_session = requests.session() req_session = requests.session()
proxy = None
API_URL = "https://api.telegram.org/bot{0}/{1}" API_URL = "https://api.telegram.org/bot{0}/{1}"
FILE_URL = "https://api.telegram.org/file/bot{0}/{1}" FILE_URL = "https://api.telegram.org/file/bot{0}/{1}"
@ -47,7 +48,7 @@ def _make_request(token, method_name, method='get', params=None, files=None, bas
if 'timeout' in params: read_timeout = params['timeout'] + 10 if 'timeout' in params: read_timeout = params['timeout'] + 10
if 'connect-timeout' in params: connect_timeout = params['connect-timeout'] + 10 if 'connect-timeout' in params: connect_timeout = params['connect-timeout'] + 10
result = req_session.request(method, request_url, params=params, files=files, result = req_session.request(method, request_url, params=params, files=files,
timeout=(connect_timeout, read_timeout)) timeout=(connect_timeout, read_timeout), proxies=proxy)
logger.debug("The server returned: '{0}'".format(result.text.encode('utf8'))) logger.debug("The server returned: '{0}'".format(result.text.encode('utf8')))
return _check_result(method_name, result)['result'] return _check_result(method_name, result)['result']