httplib的简单介绍

简介

在Python中,httplib是一个用于进行HTTP通信的库。它提供了一些方便的方法来发送HTTP请求和处理响应。本文将介绍httplib库的使用方法和一些常见的应用场景。

多级标题

1. 发送HTTP请求

1.1 get()方法

1.2 post()方法

2. 处理HTTP响应

2.1 获取响应内容

2.2 获取响应头信息

2.3 获取响应状态码

2.4 处理错误响应

内容详细说明

1. 发送HTTP请求

httplib提供了get()和post()方法来发送HTTP请求。调用get()时需要传入一个URL,它会发送一个GET请求并返回服务器的响应。示例代码如下:

```python

import httplib

conn = httplib.HTTPConnection("www.example.com")

conn.request("GET", "/path/to/page")

response = conn.getresponse()

print(response.status)

print(response.read())

```

与get()类似,调用post()时需要传入一个URL和要POST的数据。示例代码如下:

```python

import httplib

headers = {"Content-type": "application/x-www-form-urlencoded", "Accept": "text/plain"}

params = "username=test&password=123456"

conn = httplib.HTTPConnection("www.example.com")

conn.request("POST", "/path/to/page", params, headers)

response = conn.getresponse()

print(response.status)

print(response.read())

```

2. 处理HTTP响应

通过get()或post()方法发送HTTP请求后,会得到一个HttpResponse对象。可以使用该对象来处理响应。

2.1 获取响应内容

使用response.read()方法可以获取响应的内容。示例代码如下:

```python

import httplib

conn = httplib.HTTPConnection("www.example.com")

conn.request("GET", "/path/to/page")

response = conn.getresponse()

content = response.read()

print(content)

```

2.2 获取响应头信息

使用response.getheader()方法可以获取响应的头信息。示例代码如下:

```python

import httplib

conn = httplib.HTTPConnection("www.example.com")

conn.request("GET", "/path/to/page")

response = conn.getresponse()

content_type = response.getheader("Content-Type")

print(content_type)

```

2.3 获取响应状态码

使用response.status可以获取响应的状态码。示例代码如下:

```python

import httplib

conn = httplib.HTTPConnection("www.example.com")

conn.request("GET", "/path/to/page")

response = conn.getresponse()

status_code = response.status

print(status_code)

```

2.4 处理错误响应

在处理HTTP响应时,可能会遇到错误响应。可以使用response.status来判断响应的状态码,如果不是200则表示出现错误。示例代码如下:

```python

import httplib

conn = httplib.HTTPConnection("www.example.com")

conn.request("GET", "/path/to/page")

response = conn.getresponse()

if response.status == 200:

print(response.read())

else:

print("Error: " + str(response.status))

```

标签列表