安装

import asyncio

import aiohttp as aiohttp


async def proxy_test():
    # 隧道代理验证信息,其中用户名为隧道代理订单号
    # TODO:请修改下面的信息,参考页面:https://proxy.horocn.com/user-tunnel-orders
    proxy_user = "隧道代理订单号"
    proxy_password = "密码(用户中心-我的订单页面可查)"

    # 隧道代理服务器
    proxy_host = "dyn.horocn.com"
    proxy_port = 50000

    # 要访问的目标页面
    target_url = "http://whois.pconline.com.cn/ipJson.jsp?json=true"

    proxy_meta = "http://{user}:{password}@{host}:{port}".format(user=proxy_user, password=proxy_password,
                                                                 host=proxy_host, port=proxy_port)

    async with aiohttp.ClientSession() as session:
        async with session.get(target_url, proxy=proxy_meta) as resp:
            print(resp.status)
            print(await resp.text())


if __name__ == '__main__':
    loop = asyncio.get_event_loop()
    loop.run_until_complete(proxy_test())
    loop.close()

测试环境

  • 操作系统:macOS Big Sur
  • Python:3.9.7


requirements.txt

aiohttp==3.8.1
aiosignal==1.2.0
async-timeout==4.0.2
attrs==21.4.0
charset-normalizer==2.0.12
frozenlist==1.3.0
idna==3.3
multidict==6.0.2
yarl==1.7.2


常见问题

UnicodeEncodeError: 'latin-1' codec can't encode characters in position 0-6: ordinal not in range(256)

修改 proxy_user 和 proxy_password,这两个变量只能包含字母、符号和数字。

转载请注明