%global _empty_manifest_terminate_build 0 Name: python-aiohttp-proxy Version: 0.1.2 Release: 1 Summary: Full-featured proxy connector for aiohttp License: Apache 2 URL: https://github.com/Skactor/aiohttp-proxy Source0: https://mirrors.nju.edu.cn/pypi/web/packages/03/93/d7cc02c794a3febbbe7b0fd1b2c7cb31234b2556b9da7bee273c33ae0f6f/aiohttp_proxy-0.1.2.tar.gz BuildArch: noarch Requires: python3-aiohttp Requires: python3-yarl %description ## aiohttp-proxy [![Build Status](https://travis-ci.org/Skactor/aiohttp-proxy.svg?branch=master)](https://github.com/Skactor/aiohttp-proxy) [![Coverage Status](https://coveralls.io/repos/github/Skactor/aiohttp-proxy/badge.svg?branch=master)](https://coveralls.io/Skactor/aiohttp-proxy?branch=master) [![PyPI version](https://badge.fury.io/py/aiohttp-proxy.svg)](https://badge.fury.io/py/aiohttp-proxy) SOCKS proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). HTTP, HTTPS, SOCKS4(a) and SOCKS5(h) proxies are supported. ## Requirements - Python >= 3.5.3 - aiohttp >= 2.3.2 # including v3.x ## Installation ``` pip install aiohttp_proxy ``` ## Usage #### aiohttp usage: ```python import aiohttp from aiohttp_proxy import ProxyConnector, ProxyType async def fetch(url): connector = ProxyConnector.from_url('http://user:password@127.0.0.1:1080') ### or use ProxyConnector constructor # connector = ProxyConnector( # proxy_type=ProxyType.SOCKS5, # host='127.0.0.1', # port=1080, # username='user', # password='password', # rdns=True # ) async with aiohttp.ClientSession(connector=connector) as session: async with session.get(url) as response: return await response.text() ``` #### aiohttp-socks also provides `open_connection` and `create_connection` functions: ```python from aiohttp_proxy import open_connection async def fetch(): reader, writer = await open_connection( socks_url='http://user:password@127.0.0.1:1080', host='check-host.net', port=80 ) request = (b"GET /ip HTTP/1.1\r\n" b"Host: check-host.net\r\n" b"Connection: close\r\n\r\n") writer.write(request) return await reader.read(-1) ``` ## Why give aiohttp a new proxy support First must declare, our code is based on [aiohttp-socks](https://github.com/romis2012/aiohttp-socks), thank you very much for the hard work. But in order to more flexible support for multiple proxy methods (not just SOCKS proxy), we decided to fork [aiohttp-socks] (https://github.com/romis2012/aiohttp-socks), which is currently based on it. Combine with native aiohttp to provide HTTP/HTTPS proxy instead of writing troublesome discriminating code based on the type of proxy. %package -n python3-aiohttp-proxy Summary: Full-featured proxy connector for aiohttp Provides: python-aiohttp-proxy BuildRequires: python3-devel BuildRequires: python3-setuptools BuildRequires: python3-pip %description -n python3-aiohttp-proxy ## aiohttp-proxy [![Build Status](https://travis-ci.org/Skactor/aiohttp-proxy.svg?branch=master)](https://github.com/Skactor/aiohttp-proxy) [![Coverage Status](https://coveralls.io/repos/github/Skactor/aiohttp-proxy/badge.svg?branch=master)](https://coveralls.io/Skactor/aiohttp-proxy?branch=master) [![PyPI version](https://badge.fury.io/py/aiohttp-proxy.svg)](https://badge.fury.io/py/aiohttp-proxy) SOCKS proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). HTTP, HTTPS, SOCKS4(a) and SOCKS5(h) proxies are supported. ## Requirements - Python >= 3.5.3 - aiohttp >= 2.3.2 # including v3.x ## Installation ``` pip install aiohttp_proxy ``` ## Usage #### aiohttp usage: ```python import aiohttp from aiohttp_proxy import ProxyConnector, ProxyType async def fetch(url): connector = ProxyConnector.from_url('http://user:password@127.0.0.1:1080') ### or use ProxyConnector constructor # connector = ProxyConnector( # proxy_type=ProxyType.SOCKS5, # host='127.0.0.1', # port=1080, # username='user', # password='password', # rdns=True # ) async with aiohttp.ClientSession(connector=connector) as session: async with session.get(url) as response: return await response.text() ``` #### aiohttp-socks also provides `open_connection` and `create_connection` functions: ```python from aiohttp_proxy import open_connection async def fetch(): reader, writer = await open_connection( socks_url='http://user:password@127.0.0.1:1080', host='check-host.net', port=80 ) request = (b"GET /ip HTTP/1.1\r\n" b"Host: check-host.net\r\n" b"Connection: close\r\n\r\n") writer.write(request) return await reader.read(-1) ``` ## Why give aiohttp a new proxy support First must declare, our code is based on [aiohttp-socks](https://github.com/romis2012/aiohttp-socks), thank you very much for the hard work. But in order to more flexible support for multiple proxy methods (not just SOCKS proxy), we decided to fork [aiohttp-socks] (https://github.com/romis2012/aiohttp-socks), which is currently based on it. Combine with native aiohttp to provide HTTP/HTTPS proxy instead of writing troublesome discriminating code based on the type of proxy. %package help Summary: Development documents and examples for aiohttp-proxy Provides: python3-aiohttp-proxy-doc %description help ## aiohttp-proxy [![Build Status](https://travis-ci.org/Skactor/aiohttp-proxy.svg?branch=master)](https://github.com/Skactor/aiohttp-proxy) [![Coverage Status](https://coveralls.io/repos/github/Skactor/aiohttp-proxy/badge.svg?branch=master)](https://coveralls.io/Skactor/aiohttp-proxy?branch=master) [![PyPI version](https://badge.fury.io/py/aiohttp-proxy.svg)](https://badge.fury.io/py/aiohttp-proxy) SOCKS proxy connector for [aiohttp](https://github.com/aio-libs/aiohttp). HTTP, HTTPS, SOCKS4(a) and SOCKS5(h) proxies are supported. ## Requirements - Python >= 3.5.3 - aiohttp >= 2.3.2 # including v3.x ## Installation ``` pip install aiohttp_proxy ``` ## Usage #### aiohttp usage: ```python import aiohttp from aiohttp_proxy import ProxyConnector, ProxyType async def fetch(url): connector = ProxyConnector.from_url('http://user:password@127.0.0.1:1080') ### or use ProxyConnector constructor # connector = ProxyConnector( # proxy_type=ProxyType.SOCKS5, # host='127.0.0.1', # port=1080, # username='user', # password='password', # rdns=True # ) async with aiohttp.ClientSession(connector=connector) as session: async with session.get(url) as response: return await response.text() ``` #### aiohttp-socks also provides `open_connection` and `create_connection` functions: ```python from aiohttp_proxy import open_connection async def fetch(): reader, writer = await open_connection( socks_url='http://user:password@127.0.0.1:1080', host='check-host.net', port=80 ) request = (b"GET /ip HTTP/1.1\r\n" b"Host: check-host.net\r\n" b"Connection: close\r\n\r\n") writer.write(request) return await reader.read(-1) ``` ## Why give aiohttp a new proxy support First must declare, our code is based on [aiohttp-socks](https://github.com/romis2012/aiohttp-socks), thank you very much for the hard work. But in order to more flexible support for multiple proxy methods (not just SOCKS proxy), we decided to fork [aiohttp-socks] (https://github.com/romis2012/aiohttp-socks), which is currently based on it. Combine with native aiohttp to provide HTTP/HTTPS proxy instead of writing troublesome discriminating code based on the type of proxy. %prep %autosetup -n aiohttp-proxy-0.1.2 %build %py3_build %install %py3_install install -d -m755 %{buildroot}/%{_pkgdocdir} if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi pushd %{buildroot} if [ -d usr/lib ]; then find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/lib64 ]; then find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/bin ]; then find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst fi if [ -d usr/sbin ]; then find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst fi touch doclist.lst if [ -d usr/share/man ]; then find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst fi popd mv %{buildroot}/filelist.lst . mv %{buildroot}/doclist.lst . %files -n python3-aiohttp-proxy -f filelist.lst %dir %{python3_sitelib}/* %files help -f doclist.lst %{_docdir}/* %changelog * Sun Apr 23 2023 Python_Bot - 0.1.2-1 - Package Spec generated