当前位置: 首页 > news >正文

长治哪里做网站网站建设中如何发布信息推广

长治哪里做网站,网站建设中如何发布信息推广,完备的网站建设推广,什么网站可以免费做会计初级Python HTTP请求库对比 库名称特点优点缺点requests简单易用的HTTP库,基于urllib3。- 语法简洁- 社区支持强大- 易于上手和维护- 阻塞式调用,不支持异步操作- 相比aiohttp体积较大http.clientPython标准库中的低级HTTP库。- 无需安装第三方库- 提供底层…

Python HTTP请求库对比

库名称特点优点缺点
requests简单易用的HTTP库,基于urllib3- 语法简洁
- 社区支持强大
- 易于上手和维护
- 阻塞式调用,不支持异步操作
- 相比aiohttp体积较大
http.clientPython标准库中的低级HTTP库。- 无需安装第三方库
- 提供底层访问,可自定义程度高
- API使用相对复杂
- 缺少高级HTTP功能
aiohttp异步的HTTP网络通信库,支持HTTP/1.1和HTTP/2。- 支持异步操作,适合高并发
- 支持WebSockets
- 异步编程模型学习曲线陡峭
- 较新,社区支持不如requests
urllibPython标准库,提供URL处理。- 无需安装第三方库
- 功能全面,包括请求和错误处理
- 易用性不如requests
- 不支持异步操作
httpx支持HTTP/1.1和HTTP/2的异步HTTP库。- 支持同步和异步请求
- 支持HTTP/2
- 可扩展性好
- 相对于requests,知名度和社区支持较小
treq基于Twisted的异步HTTP客户端,使用requests的API风格。- 异步操作
- 与requests类似的API
- 适用于Twisted用户
- 依赖于Twisted框架
- 社区支持有限
requests-toolbeltrequests的官方扩展,提供额外功能。- 增加requests没有的功能
- 流式上传下载支持
- 作为扩展,需要与requests结合使用
- 功能较为特定

在选择库时,应该考虑以下因素:

  • 项目需求:是否需要异步支持,是否处理大量并发请求。
  • 易用性:API的简洁性和学习曲线。
  • 社区和文档:活跃的社区和详尽的文档可以加快开发速度。
  • 性能:不同库在不同场景下的性能表现。
  • 兼容性:是否支持需要的HTTP特性,如HTTP/2或WebSockets。

实战请求豆瓣排行榜

curl ^"https://movie.douban.com/j/chart/top_list_count?type=11&interval_id=100^%^3A90&action=^"  ^-H "Accept: */*" ^-H "Accept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7" ^-H "Connection: keep-alive" ^-H ^"Cookie: ll=^\^"118282^\^"; bid=p6VTwxlhQxU; _pk_id.100001.4cf6=1960560bd6f348cf.1717555113.; __utmc=30149280; __utmc=223695111; __yadk_uid=vu9yRywnfgofYdkNxlDGN1LGZumZZlP3; _vwo_uuid_v2=DB54A160968C09D586B65593E774AC10A^|93b3f99adf2e8bfe6ce4a84c068e3f82; _pk_ref.100001.4cf6=^%^5B^%^22^%^22^%^2C^%^22^%^22^%^2C1717727676^%^2C^%^22https^%^3A^%^2F^%^2Fwww.heywhale.com^%^2F^%^22^%^5D; push_noty_num=0; push_doumail_num=0; __utmv=30149280.19806; __utma=30149280.912128761.1717555113.1717725025.1717728345.3; __utmz=30149280.1717728345.3.2.utmcsr=google^|utmccn=(organic)^|utmcmd=organic^|utmctr=(not^%^20provided); __utma=223695111.1475293929.1717555113.1717727676.1717728345.4; __utmz=223695111.1717728345.4.2.utmcsr=google^|utmccn=(organic)^|utmcmd=organic^|utmctr=(not^%^20provided)^" ^-H ^"Referer: https://movie.douban.com/typerank?type_name=^%^E5^%^89^%^A7^%^E6^%^83^%^85&type=11&interval_id=100:90&action=^"  ^-H "Sec-Fetch-Dest: empty" ^-H "Sec-Fetch-Mode: cors" ^-H "Sec-Fetch-Site: same-origin" ^-H "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36" ^-H "X-Requested-With: XMLHttpRequest" ^-H ^"sec-ch-ua: ^\^"Google Chrome^\^";v=^\^"125^\^", ^\^"Chromium^\^";v=^\^"125^\^", ^\^"Not.A/Brand^\^";v=^\^"24^\^"^" ^-H "sec-ch-ua-mobile: ?0" ^-H ^"sec-ch-ua-platform: ^\^"Windows^\^"^"

这个curl命令包含了一个HTTP GET请求,它发送到豆瓣电影的某个API端点,请求某种类型的电影排行数据。请求中包含了多个HTTP头,例如AcceptAccept-LanguageConnectionCookieRefererSec-Fetch-*User-AgentX-Requested-Withsec-ch-ua等。这些头信息通常用于控制请求的行为,或者提供客户端环境的额外信息。

以下是使用几种不同的Python HTTP请求库来模拟这个curl请求的示例:

1. 使用 requests

import requestsurl = "https://movie.douban.com/j/chart/top_list_count?type=11&interval_id=100:90&action="
headers = {"Accept": "*/*","Accept-Language": "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7","Connection": "keep-alive",# Cookie 头过长,需要按实际值填充# ..."Referer": "https://movie.douban.com/typerank?type_name=剧情&type=11&interval_id=100:90&action=",# 其他 headers 按需填充# ..."User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/125.0.0.0 Safari/537.36"
}response = requests.get(url, headers=headers)
print(response.text)

2. 使用 aiohttp 库(异步)

import aiohttp
import asyncioasync def fetch(url, headers):async with aiohttp.ClientSession() as session:async with session.get(url, headers=headers) as response:return await response.text()url = "https://movie.douban.com/j/chart/top_list_count?type=11&interval_id=100:90&action="
headers = {...}  # 同上loop = asyncio.get_event_loop()
html = loop.run_until_complete(fetch(url, headers))
print(html)

3. 使用 http.client(Python 标准库)

import http.client
import urllib.parseconn = http.client.HTTPSConnection("movie.douban.com")# 将参数编码为URL
params = urllib.parse.urlencode({'type': '11','interval_id': '100:90','action': ''
})
url = f"/j/chart/top_list_count?{params}"headers = {# 同上
}conn.request("GET", url, headers=headers)response = conn.getresponse()
data = response.read()print(data.decode('utf-8'))conn.close()

注意事项

  • 由于Cookie和其他一些headers可能非常长,这里没有完全展示它们的值。在实际使用中,你需要将它们完整地填入headers字典中。
  • requests示例中,我们使用同步方式发送请求并打印响应内容。
  • aiohttp示例中,我们使用异步方式发送请求。aiohttp是处理并发请求的好选择,特别是在需要处理大量网络I/O操作时。
  • http.client示例中,我们使用了Python标准库中的低级HTTP客户端。这种方式比较繁琐,但它不依赖于任何外部库。

根据你的需求和偏好,选择最适合你的库来执行HTTP请求。如果你需要处理大量并发请求,可能会倾向于使用aiohttp。如果你需要简单快速地发起请求,并且不想引入额外的依赖,可能会选择requests。如果你正在编写一个需要精细控制网络层面的底层应用,可能会选择http.client

http://www.yayakq.cn/news/676269/

相关文章:

  • 什么样的网站需要数据库360建筑网网址
  • 房地产管理局网站石家庄网站建设找哪家好
  • 一个网站通常包含多个网页吗自己做视频网站能赚钱
  • 注册网站要注意什么网站备案主体
  • 网站应用水印图片山东东营市东营区
  • 成都本地做网站的什么网站做新产品代理
  • 广州免费建站哪里有深圳航空网上值机选座
  • 网站实现搜索功能备案中网站打不开
  • 网页制作与网站建设实战教程视频怎样建设外贸网站
  • 湘潭网站建设 磐石网络在哪即墨做网站公司
  • 免费申请论坛网站自己建设论坛网站
  • 深圳微信建网站包装设计效果图生成器
  • 一个上线的网站需要怎么做如何解决wordpress后台慢的问题
  • 深圳 网站设计沙漠风网站建设怎么样
  • 手机网站菜单设计模板app试玩网站制作
  • 手机怎么访问wap网站做网站商
  • 拼多多网站的类型教学网页制作
  • 机械技术支持中山网站建设wordpress 博客园
  • 哪个网站是教人做淘宝客的郑州seo外包服务
  • 网站建设费做什么科目网站名称能用商标做名称吗
  • 昆明公司网站优化关于动漫制作专业
  • 天津做网站建设公司wordpress突然很慢
  • 佛山优秀网站建设百度竞价网站备案
  • 甘南网站建设公司伪静态网站
  • 群艺馆网站建设方案商城网站大全
  • 新型城镇化建设网站肇庆seo推广公司
  • wordpress私密评论神马seo服务
  • 网站如何在百度搜索到六安城市网地址在哪里
  • 医学网站建设方案常州网络公司网站
  • 淘宝网站建设方案做婚礼网站的公司简介