HTTP(超文本传输协议):
HTTP 是一种用于通过 Internet 发送和接收数据的协议。在 Python 中,您可以使用该模块发送 HTTP 请求和接收 HTTP 响应。下面是使用该模块发送 HTTP GET 请求的示例:requestsrequests
import requests response = requests.get('https://www.example.com') print(response.status_code) print(response.content)
在此示例中,向指定的 URL 发送 HTTP GET 请求并返回 HTTP 响应对象。响应对象的属性包含以字节形式表示的响应正文。requests.get
content
HTTP应用协议:
HTTP 是一种用于在应用程序之间传输数据的应用程序协议。在 Python 中,您可以使用该模块创建一个简单的 HTTP 服务器。下面是创建提供单个文件的 HTTP 服务器的示例:http.server
from http.server import HTTPServer, SimpleHTTPRequestHandler class MyHandler(SimpleHTTPRequestHandler): def do_GET(self): self.send_response(200) self.end_headers() with open('index.html', 'rb') as f: self.wfile.write(f.read()) httpd = HTTPServer(('localhost', 8000), MyHandler) httpd.serve_forever()
在此示例中,是 的子类,它重写提供单个文件 () 的方法。该类用于创建侦听端口 8000 的 HTTP 服务器。MyHandler
SimpleHTTPRequestHandler
do_GET
index.html
HTTPServer
HTTP 请求:
HTTP 请求是客户端发送到服务器的消息。在 Python 中,您可以使用该模块发送 HTTP 请求。下面是使用该模块发送包含数据的 HTTP POST 请求的示例:requestsrequests
import requests data = {'name': 'John', 'age': 30} response = requests.post('https://www.example.com', data=data) print(response.content)
在此示例中,requests.post
向指定的 URL 发送一个 HTTP POST 请求,其中包含字典中的数据。响应对象的属性包含以字节形式表示的响应正文。data
content
Unicode 和 UTF-8:
Unicode 是一种字符编码标准,它表示唯一代码点中的每个字符。UTF-8 是一种可变宽度编码,可以使用一到四个字节表示所有 Unicode 字符。在 Python 中,您可以使用 和 方法在使用 UTF-8 编码的 Unicode 字符串和字节之间进行转换。下面是使用 UTF-8 编码将 Unicode 字符串编码为字节的示例:encodedecode
text = 'Hello, world!' bytes = text.encode('utf-8') print(bytes)
在此示例中,使用 UTF-8 编码将 Unicode 字符串编码为字节。text.encode('utf-8')
text
HTTP URL 库:
Python 的内置模块提供了一种通过 Internet 访问网页和其他资源的便捷方式。下面是使用该模块检索网页内容的示例:urlliburllib.request
import urllib.request url = 'https://www.example.com' response = urllib.request.urlopen(url) data = response.read() text = data.decode('utf-8') print(text)
在此示例中,向指定的 URL 发送 HTTP GET 请求并返回 HTTP 响应对象。响应对象的方法将响应的内容读取到 bytes 对象中,然后使用 UTF-8 编码对其进行解码以将其转换为字符串。urllib.request.urlopen
read
URL 解析:
您可以使用该模块将 URL 解析为其组成部分。下面是将 URL 解析为其组成部分的示例:urllib.parse
from urllib.parse import urlparse url = 'https://www.example.com/path/to/resource?param=value' parsed = urlparse(url) print(parsed.scheme) # 'https' print(parsed.netloc) # 'www.example.com' print(parsed.path) # '/path/to/resource' print(parsed.query) # 'param=value'
在此示例中,将 URL 解析为其组成部分(scheme、netloc、path 和 query),然后打印这些部分。urlparse
url
URL 编码:
您可以使用该模块对 URL 中的特殊字符进行编码。下面是使用特殊字符对 URL 进行编码的示例:urllib.parse
from urllib.parse import quote url = 'https://www.example.com/search?q=Python tutorial' encoded = quote(url) print(encoded) # 'https%3A//www.example.com/search%3Fq%3DPython%20tutorial'
在此示例中,使用百分比编码对 URL 中的特殊字符(冒号、斜杠和空格)进行编码。quote
url
URL 解码:
您可以使用该模块对 URL 中的百分比编码字符进行解码。下面是使用百分比编码字符解码 URL 的示例:urllib.parse
from urllib.parse import unquote url = 'https%3A//www.example.com/search%3Fq%3DPython%20tutorial' decoded = unquote(url) print(decoded) # 'https://www.example.com/search?q=Python tutorial'
在此示例中,使用 UTF-8 解码对 URL 中的百分比编码字符进行解码。unquote
url