广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python 3 处理HTTP 请求的包
  • 895
分享到

python 3 处理HTTP 请求的包

pythonHTTP 2023-01-31 07:01:15 895人浏览 泡泡鱼

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

摘要

Httphttp: https://docs.python.org/3/library/http.htmlhttp是一个包,里面含有多个模块:http.client,http.server,http.cookies,http.cookiej

Http

http: https://docs.python.org/3/library/http.html

http是一个包,里面含有多个模块:http.client,http.server,http.cookies,http.cookiejar

http.client 对应Python2.X 的 httplib 模块。

官方文档对 http.client的说明如下:

This module defines classes which implement the client side of the HTTP and HTTPS protocols. It is nORMally not used directly — the moduleurllib.request uses it to handle URLs that use HTTP and HTTPS.

总结起来就是:该库一般不直接使用,比较底层。

GET的官方例子:

>>> import http.client
>>> conn = http.client.HTTPSConnection("www.python.org")
>>> conn.request("GET", "/")
>>> r1 = conn.getresponse()
>>> print(r1.status, r1.reason)
200 OK
>>> data1 = r1.read()  # This will return entire content.


urllib

urllib:https://docs.python.org/3/library/urllib.html

urllib也是一个包,里面含有多个模块:urllib.request,urllib.error,urllib.parse,urllib.robotparser。

这里的urllib.request 跟python 2.X 的urllib2有点像。

urllib.request 基于http.client,但是比 http.client 更高层一些。

发送请求使用urllib.request.urlopen,URL可以接受字符串或者Request对象。带有data参数就是POST方法,否则就是GET。

GET:


>>> import urllib.request
>>> import urllib.parse
>>> params = urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> url = "http://www.musi-cal.com/cgi-bin/query?%s" % params
>>> with urllib.request.urlopen(url) as f:
...     print(f.read().decode('utf-8'))


POST:


>>> import urllib.request
>>> import urllib.parse
>>> data = urllib.parse.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0})
>>> data = data.encode('ascii')
>>> with urllib.request.urlopen("http://requestb.in/xrbl82xr", data) as f:
...     print(f.read().decode('utf-8'))


urllib3

urllib3:https://pypi.python.org/pypi/urllib3


urllib3 brings many critical features that are missing from the Python standard libraries:

-Thread safety.
-Connection pooling.
-Client-side SSL/TLS verification.
-File uploads with multipart encoding.
-Helpers for retrying requests and dealing with HTTP redirects.
-Support for gzip and deflate encoding.
-Proxy support for HTTP and SOCKS.-100% test coverage.


总结起来就是:相比python的标准库,urllib3有很多很重要的特性,比如线程安全等。

同时urllib3也很强大而且易于使用。

GET示例:


>>> import urllib3>>> http = urllib3.PoolManager()>>> r = http.request('GET', 'http://httpbin.org/robots.txt')>>> r.status200
>>> r.data'User-agent: *\nDisallow: /deny\n'


Requests

Requests:http://docs.python-requests.org/en/latest/index.html

Requests 基于urllib3,号称“Requests is an elegant and simple HTTP library for Python, built for human beings.”,意思就是专门为人类设计的HTTP库。

使用的感觉就是优雅、简单大方 。推荐使用这个库,非常好用。

官方示例:


>>> r = requests.get('https://api.GitHub.com/user', auth=('user', 'pass'))>>> r.status_code200
>>> r.headers['content-type']'application/JSON; charset=utf8'>>> r.encoding'utf-8'>>> r.text
u'{"type":"User"...'>>> r.json()
{u'private_GISts': 419, u'total_private_repos': 77, ...}


总结

Python 3 处理HTTP请求的包:http,urllib,urllib3,requests。

其中,http 比较 low-level,一般不直接使用。

urllib更 high-level一点,属于标准库。urllib3跟urllib类似,拥有一些重要特性而且易于使用,但是属于扩展库,需要安装。

requests 基于urllib3 ,也不是标准库,但是使用非常方便。

个人感觉,如果非要用标准库,就使用urllib。如果没有限制,就用requests。


--结束END--

本文标题: python 3 处理HTTP 请求的包

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python 3 处理HTTP 请求的包
    httphttp: https://docs.python.org/3/library/http.htmlhttp是一个包,里面含有多个模块:http.client,http.server,http.cookies,http.cookiej...
    99+
    2023-01-31
    python HTTP
  • python处理http请求中特殊字符(
    直接看代码吧# encoding:utf-8from urllib.parse import quoteimport urllib.requestimport stringimport jsonurl = quote('http://tes...
    99+
    2023-01-31
    特殊字符 python http
  • 如何使用golang中的net/http/cookiejar包处理HTTP请求中的Cookie
    如何使用Golang中的net/http/cookiejar包处理HTTP请求中的Cookie在使用Golang编写网络爬虫或是进行HTTP请求时,经常需要处理网站返回的Cookie。为了简化Cookie的管理,Golang提供了net/h...
    99+
    2023-11-18
    Golang Http Cookiejar
  • Ngnix如何处理http请求
    这篇文章主要为大家展示了“Ngnix如何处理http请求”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Ngnix如何处理http请求”这篇文章吧。nginx处理http的请求是nginx最重要的...
    99+
    2023-06-27
  • 如何在Unix上使用Python处理HTTP请求?
    在Unix系统上使用Python处理HTTP请求是一项非常实用的技能。Python是一种广泛应用于Web开发的高级编程语言,它有着简洁明了的语法以及强大的库支持。在这篇文章中,我们将介绍如何使用Python在Unix系统上处理HTTP请求。...
    99+
    2023-09-16
    unix http 数组
  • Python 打包实时的 HTTP 请求,有可能吗?
    在网络开发中,经常需要发送 HTTP 请求来获取数据或与服务器进行交互。Python 作为一门强大的编程语言,自然也提供了许多库来处理 HTTP 请求。但是,如果需要发送大量的请求,那么每次发送请求都会造成一定的开销,导致效率不高。那么有...
    99+
    2023-09-13
    打包 实时 http
  • Python的http请求(wsdl)并
    from suds.client import Client import xml.etree.ElementTree as ET url= "http://10.228.200.253:8081/JKService/webservice...
    99+
    2023-01-31
    Python http wsdl
  • PHP中的HTTP请求与响应处理
    PHP是一门脚本语言,常用于Web开发。在Web开发中,HTTP协议是重要的组成部分。对于PHP开发者来说,了解如何发送HTTP请求和处理HTTP响应是必要的技能之一。在本文中,我们将介绍PHP中的HTTP请求和响应处理。发送HTTP请求在...
    99+
    2023-05-23
    HTTP 请求 响应
  • 如何使用Python处理HTTP请求中的大数据?
    随着互联网的飞速发展,大量的数据被传输到网络上,而其中大多数数据都是通过HTTP请求进行传输的。当我们需要对这些HTTP请求中的大数据进行处理时,Python是一个非常强大的工具。在本文中,我们将探讨如何使用Python处理HTTP请求中...
    99+
    2023-10-28
    http 大数据 自然语言处理
  • Android中使用OkHttp包处理HTTP的get和post请求的方法
    概览 http是现在主流应用使用的网络请求方式, 用来交换数据和内容, 有效的使用HTTP可以使你的APP 变的更快和减少流量的使用 OkHttp 是一个很棒HTTP客户端(G...
    99+
    2022-06-06
    okhttp get 方法 post请求 post Android
  • 关于Netty--Http请求处理方式
    目录Netty--Http请求处理业务处理逻辑Netty处理简单Http请求的例子废话不多说 上代码Netty--Http请求处理 1.这几天在看Netty权威指南,代码敲了一下,就...
    99+
    2022-11-13
  • Python并发编程:如何优化HTTP请求处理?
    随着互联网的发展,我们的应用程序越来越依赖于HTTP请求。无论是爬取网页、请求API接口还是处理数据,HTTP请求几乎成为了每一个应用程序的必要操作。然而,如果我们在处理HTTP请求时没有考虑并发处理,那么我们的程序可能会因为等待服务器响...
    99+
    2023-09-21
    http 二维码 并发
  • vue处理get/post的http请求的实例
    目录一、使用Vue.http/this.$http1.GET请求2.POST请求二、使用Vue.resource/this.$resourceGET请求POST请求intecepto...
    99+
    2022-11-13
  • python的HTTP请求方式(sock
    关于python的HTTP请求方式HTTP请求步骤为:       1. 域名解析2. 发起TCP的3次握手3. 建立TCP连接后发起http请求4. 服务器端响应http请求,浏览器得到html代码5. 浏览器解析html代码,并请求h...
    99+
    2023-01-31
    方式 python HTTP
  • python 的http请求模块 url
    urllib3是一个强大的,理智的友好的HTTP客户端程序。大部分的Python的生态系统已经使用,你也应该urllib3。urllib3带来从Python标准库缺少许多关键特征:线程安全。连接池。客户端SSL / TLS验证。多重编码文件...
    99+
    2023-01-31
    模块 python http
  • ASP.NET处理HTTP请求的流程是什么
    这篇文章主要介绍“ASP.NET处理HTTP请求的流程是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“ASP.NET处理HTTP请求的流程是什么”文章能帮助大家解决问题。一、ASP.NET处理管...
    99+
    2023-06-30
  • PHP中如何处理HTTP请求错误?
    在Web开发中,HTTP请求错误是时常会碰到的问题。可能是接口请求超时、参数传递错误、网络连接不正常等等。在PHP中,我们可以通过各种方法处理这些HTTP请求错误。下面就来具体探讨一下。一、使用try…catch语句使用try…catch语...
    99+
    2023-12-09
    Http请求 PHP 错误处理
  • 如何使用Python处理HTTP请求中的大数据对象?
    如何使用Python处理HTTP请求中的大数据对象? 在现代互联网的世界里,HTTP请求是非常常见的一种数据交互方式,而随着数据量的不断增大,HTTP请求中的数据也越来越大。在这种情况下,如何使用Python处理HTTP请求中的大数据对象成...
    99+
    2023-10-21
    http 大数据 对象
  • 解决Java处理HTTP请求超时的问题
    在发送POST或GET请求时,返回超时异常处理办法: 捕获 SocketTimeoutException | ConnectTimeoutException | Connectio...
    99+
    2022-11-12
  • Go http请求排队处理实战示例
    目录一、http请求的顺序处理方式二、http请求的异步处理方式--排队处理工作单元队列消费者协程完整代码总结一、http请求的顺序处理方式 在高并发场景下,为了降低系统压力,都会使...
    99+
    2022-11-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作