សម្រាប់សំណើអសមកាលមួយតាមប្រូកស៊ី HTTP ដោយមិនផ្ទៀងផ្ទាត់ សូមកំណត់ផ្លូវនៅ session.get()។ បន្ថែម aiohttp ទៅគម្រោងបើចាំបាច់៖

uv add aiohttp

ប្តូរអាសយដ្ឋានឯកសារខាងក្រោមទៅចំណុចស្តាប់ HTTP របស់អ្នក ឬបេក្ខជនពី បញ្ជីប្រូកស៊ី HTTP។ វាត្រូវអនុញ្ញាត CONNECT ទៅគោលដៅ HTTPS; ចំណុចដែលគាំទ្រតែ SOCKS ត្រូវការឧបករណ៍ភ្ជាប់សមស្របជំនួសអាគុយម៉ង់ proxy នេះ។

import asyncio
import aiohttp

async def main():
    timeout = aiohttp.ClientTimeout(total=15, connect=5)
    async with aiohttp.ClientSession(
        timeout=timeout,
        trust_env=False,
    ) as session:
        async with session.get(
            "https://example.com/",
            proxy="http://203.0.113.10:8080",
        ) as response:
            print(response.status)
            print((await response.text())[:200])

asyncio.run(main())

សំណើបោះពុម្ពស្ថានភាព HTTP និង 200 តួអក្សរដំបូងនៃអត្ថបទចម្លើយ។ 403 ឬ 429 នៅតែជាចម្លើយអាចពិនិត្យបាននៅទីនេះ; ហៅ response.raise_for_status() បើកម្មវិធីត្រូវបំលែងស្ថានភាពមិនជោគជ័យទៅជាករណីលើកលែង។ អ្នកគ្រប់គ្រងបរិបទអសមកាលបិទសម័យ និងចម្លើយពេលប្លុកបញ្ចប់ រួមទាំងពេលមានករណីលើកលែង។

ថវិកា total 15 វិនាទីគ្របដណ្តប់ប្រតិបត្តិការសំណើ។ ថវិកា connect 5 វិនាទីរួមបញ្ចូលការរង់ចាំការតភ្ជាប់ទំនេរក្នុង pool ដូច្នេះ pool រវល់អាចប្រើអស់មុនបើក socket ថ្មី។ ភាពខុសគ្នានេះសំខាន់ពេលកែការហៅតែមួយទៅជាការពិនិត្យព្រមគ្នា។

trust_env=False រក្សាផ្លូវក្នុងឧទាហរណ៍ឱ្យច្បាស់។ aiohttp មិនរកអថេរបរិស្ថានប្រូកស៊ីតាមលំនាំដើមទេ; ការនាំចេញមួយក្នុង terminal ផ្សេងមិនកំណត់ការហៅនេះទេ។ ជ្រើស trust_env=True តែនៅពេលបរិស្ថានដែលដំណើរការទទួលមរតកជាគោលការណ៍កំណត់ផ្លូវដែលចង់បាន។

អត្ថបទពាក់ព័ន្ធ