#-*- encoding:utf-8 -*- ''' @Author : dingjiawen @Date : 2023/12/13 19:42 @Usage : @Desc : ''' import httpx def http(): proxy = '127.0.0.1:7890' proxies = { 'http://': 'http://' + proxy, 'https://': 'http://' + proxy, } with httpx.Client(proxies=proxies) as client: response = client.get('https://httpbin.org/get') print(response.text) def http_auth(): proxy = 'username:password@127.0.0.1:7890' proxies = { 'http://': 'http://' + proxy, 'https://': 'http://' + proxy, } with httpx.Client(proxies=proxies) as client: response = client.get('https://httpbin.org/get') print(response.text) #socks方式需要额外安装pip install httpx-socks[asyncio] def socks(): from httpx_socks import SyncProxyTransport # 同步的方式 transport = SyncProxyTransport.from_url( 'socks5://127.0.0.1:7891') with httpx.Client(transport=transport) as client: response = client.get('https://httpbin.org/get') print(response.text) # 异步socks async def main(): from httpx_socks import AsyncProxyTransport transport = AsyncProxyTransport.from_url( 'socks5://127.0.0.1:7891') async with httpx.AsyncClient(transport=transport) as client: response = await client.get('https://httpbin.org/get') print(response.text) if __name__ == '__main__': import asyncio asyncio.get_event_loop().run_until_complete(main())