返回顶部
首页 > 资讯 > 后端开发 > Python >python aiohttp asy
  • 413
分享到

python aiohttp asy

pythonaiohttpasy 2023-01-31 06:01:18 413人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

转自:https://GitHub.com/xianhu/Learnpython # _*_ coding: utf-8 _*_ """ Python_aioHttp.py by xianhu """ import asyncio i

转自:https://GitHub.com/xianhu/Learnpython


# _*_ coding: utf-8 _*_

"""
Python_aioHttp.py by xianhu
"""

import asyncio
import aiohttp

# 简单实例
async def aiohttp_test01(url):
    async with aiohttp.ClientSession() as session:
        async with session.get(url) as resp:
            print(resp.status)
            print(await resp.text())

loop = asyncio.get_event_loop()
tasks = [aiohttp_test01("https://api.github.com/events")]
loop.run_until_complete(asyncio.wait(tasks))
loop.close()

# 其他Http方法
# session.post('http://httpbin.org/post', data=b'data')
# session.put('http://httpbin.org/put', data=b'data')
# session.delete('http://httpbin.org/delete')
# session.head('http://httpbin.org/get')
# session.options('http://httpbin.org/get')
# session.patch('http://httpbin.org/patch', data=b'data')

# 自定义Headers
# payload = {'some': 'data'}
# headers = {'content-type': 'application/JSON'}
# await session.post(url, data=json.dumps(payload), headers=headers)

# 自定义Cookie
# cookies = {'cookies_are': 'working'}
# async with ClientSession(cookies=cookies) as session:
# 访问Cookie: session.cookie_jar

# 在URLs中传递参数
# 1. params = {'key1': 'value1', 'key2': 'value2'}
# 2. params = [('key', 'value1'), ('key', 'value2')]
# async with session.get('http://httpbin.org/get', params=params) as resp:
#     assert resp.url == 'http://httpbin.org/get?key2=value2&key1=value1'

# 发送数据
# payload = {'key1': 'value1', 'key2': 'value2'}
# async with session.post('http://httpbin.org/post', data=payload) as resp:
# async with session.post(url, data=json.dumps(payload)) as resp:
#     print(await resp.text())

# 发送文件(1)
# files = {'file': open('report.xls', 'rb')}
# await session.post(url, data=files)

# 发送数据(2)
# data = FORMData()
# data.add_field('file',
#                open('report.xls', 'rb'),
#                filename='report.xls',
#                content_type='application/vnd.ms-excel')
# await session.post(url, data=data)

# 超时设置
# aync with session.get('https://github.com', timeout=60) as r:

# 代理支持
# async with aiohttp.ClientSession() as session:
#     async with session.get("http://python.org", proxy="http://some.proxy.com") as resp:
#         print(resp.status)

# async with aiohttp.ClientSession() as session:
#     proxy_auth = aiohttp.BasicAuth('user', 'pass')
#     async with session.get("http://python.org", proxy="http://some.proxy.com", proxy_auth=proxy_auth) as resp:
#         print(resp.status)
# session.get("http://python.org", proxy="http://user:pass@some.proxy.com")

# 返回的内容
# async with session.get('https://api.github.com/events') as resp:
#     print(await resp.text())
#     print(await resp.text(encoding='gbk'))
#     print(await resp.read())
#     print(await resp.json())

# 返回内容较大
# with open(filename, 'wb') as fd:
#     while True:
#         chunk = await resp.content.read(chunk_size)
#         if not chunk:
#             break
#         fd.write(chunk)

# 返回的其他变量
# async with session.get('http://httpbin.org/get') as resp:
#     print(resp.status)        # 状态码
#     print(resp.headers)       # Headers
#     print(resp.raw_headers)   # 原始Headers
#     print(resp.cookies)       # 返回的Cookie

# 访问历史History
# resp = await session.get('http://example.com/some/redirect/')
# resp: <ClientResponse(http://example.com/some/other/url/) [200]>
# resp.history: (<ClientResponse(http://example.com/some/redirect/) [301]>,)

# 释放返回的Response
# 1. async with session.get(url) as resp: pass
# 2. await resp.release()

# 连接器: Connectors
# conn = aiohttp.tcpConnector()
# session = aiohttp.ClientSession(connector=conn)

# 限制连接池大小:
# conn = aiohttp.TCPConnector(limit=30)
# conn = aiohttp.TCPConnector(limit=None)

--结束END--

本文标题: python aiohttp asy

本文链接: https://lsjlt.com/news/189918.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python aiohttp asy
    转自:https://github.com/xianhu/LearnPython # _*_ coding: utf-8 _*_ """ python_aiohttp.py by xianhu """ import asyncio i...
    99+
    2023-01-31
    python aiohttp asy
  • Python中aiohttp如何使用
    这篇“Python中aiohttp如何使用”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Python中aiohttp如何使用...
    99+
    2023-07-05
  • Python3 异步--aiohttp
    Python3 异步--aiohttp asyncio可以实现单线程并发IO操作。如果仅用在客户端,发挥的威力不大。如果把asyncio用在服务器端,例 如Web服务器,由于HTTP连接就是IO操作,因此可以用单线程+coroutin...
    99+
    2023-01-31
    aiohttp
  • python 基于AioHttp 异步抓取火星图片
    目录创建aiohttp应用程序 运行应用程序 使用NASA API 获取NASA API密钥 验证图像 总结 翻译:大江狗 原文链接:https://pfertyk.me/2017/...
    99+
    2024-04-02
  • python 基于aiohttp的异步爬虫实战详解
    目录引言aiohttp是什么requests和aiohttp区别安装aiohttpaiohttp使用介绍基本实例URL参数设置请求类型响应的几个方法超时设置并发限制aiohttp异步...
    99+
    2024-04-02
  • Python异步爬虫requests和aiohttp中代理IP的使用
    爬虫要想爬的好,IP代理少不了。。现在网站基本都有些反爬措施,访问速度稍微快点,就会发现IP被封,不然就是提交验证。下面就两种常用的模块来讲一下代理IP的使用方式。话不多说,直接开始...
    99+
    2024-04-02
  • python基于AioHttp异步抓取火星图片的案例
    这篇文章主要介绍python基于AioHttp异步抓取火星图片的案例,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!创建aiohttp应用程序让我们从一个简单的应用程序开始,只是为了启动和运行aiohttp。首先,创建...
    99+
    2023-06-14
  • Python async+request与async+aiohttp实现异步网络请求探索
    目录前言初始环境准备搭建测试用的后端1.threading requests2.async requests3.async aiohttp前言 在学习协程的时候,会有一个疑问,使用协...
    99+
    2024-04-02
  • Python3爬虫利器:aiohttp怎么安装
    这篇文章将为大家详细讲解有关Python3爬虫利器:aiohttp怎么安装,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。python是什么意思Python是一种跨平台的、具有解释性、编译性、互动性和面向对...
    99+
    2023-06-14
  • 如何利用aiohttp制作异步爬虫
    这篇文章主要介绍“如何利用aiohttp制作异步爬虫”,在日常操作中,相信很多人在如何利用aiohttp制作异步爬虫问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何利用aiohttp制作异步爬虫”的疑惑有所...
    99+
    2023-06-17
  • 如何解决pyhton aiohttp ssl证书报错问题
    这篇文章将为大家详细讲解有关如何解决pyhton aiohttp ssl证书报错问题,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 解决pyhton aiohttp s...
    99+
    2024-04-02
  • ERROR: Could not build wheels for aiohttp, which is required to install pyproject.toml-based
    记录一下,安装aiohttp库出现的问题 问题1:报两个错误, ERROR: Failed building wheel for yarlFailed to build yarlERROR: Could not build wheels f...
    99+
    2023-09-07
    python 开发语言
  • Python: kafka-python
    背景 我们有个数据处理平台,有两个用 docker 运行的数据处理模块,分别是:data_api, 和 processor_api,故名思义: data_api: 接受数据; processor_api: 处理数据; 数据处理简单...
    99+
    2023-01-31
    Python kafka python
  • [Python]linux python
     #!/usr/bin/env python与#!/usr/bin/python的区别 脚本语言的第一行,目的就是指出,你想要你的这个文件中的代码用什么可执行程序去运行它,就这么简单   #!/usr/bin/python是告诉操作系统执行...
    99+
    2023-01-31
    Python linux python
  • [Python] python-docx
    [目的] 使用Python编辑Micorsoft Word 文档 [测试环境]         OS: MS XP professional SP3 Win32         Python:2.6.6 [准备]       ...
    99+
    2023-01-31
    Python python docx
  • python-初识python
     一.计算机的初步认识     硬件:内存,主板,CPU,硬盘,显卡,显示器等   内存:     优点:存取速度快     缺点:断电后数据会全部丢失   硬盘:     优点:断电后数据也会永久保存     缺点:存取速度远远慢于内...
    99+
    2023-01-31
    python
  • python------用python写
    这样一个小游戏,我们用shell也是可以完成的,但是这里我们主要是练习python!具体的要求及shell的写法http://zidingyi.blog.51cto.com/10735263/1767566!#!/usr/bin/env p...
    99+
    2023-01-31
    python
  • Python之——python-nmap
    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/78995578 一、python-nmap安装 # yum -y install nmap #安装nmap工具 # ...
    99+
    2023-01-31
    Python python nmap
  • 【python】IDLE与python(
    这个是idle:这个是Python (command line):idle是GUI形式,command line是命令提示符形式,都是和Python解释器交互的手段。Module Docs模块手册意思是Python各种模块的说明书 ...
    99+
    2023-01-31
    python IDLE
  • 【Python】Python-pool的
    收集了几个python种进程池pool的使用例子,改写为py3版本。1. pool.apply_async进程非阻塞执行,输入不确定情况下用默认情况下,Pool会创建固定数目的工作进程,并向这些工作进程传递作业,直到再没有更多作业为止。当...
    99+
    2023-01-31
    Python pool
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作