HTTP GET
Python 2.x <= 2.7
Python 2
import urllib
response = urllib.urlopen('http://stackoverflow.com/documentation/')
使用 urllib.urlopen()
将返回一个响应对象,该对象可以像文件一样处理。
print response.code
# Prints: 200
response.code
表示 http 返回值。200 可以,404 是 NotFound 等。
print response.read()
'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack. etc'
response.read()
和 response.readlines()
可用于读取请求返回的实际 html 文件。这些方法与 file.read*
类似
Python 3.x >= 3.0
Python 3
import urllib.request
print(urllib.request.urlopen("http://stackoverflow.com/documentation/"))
# Prints: <http.client.HTTPResponse at 0x7f37a97e3b00>
response = urllib.request.urlopen("http://stackoverflow.com/documentation/")
print(response.code)
# Prints: 200
print(response.read())
# Prints: b'<!DOCTYPE html>\r\n<html>\r\n<head>\r\n\r\n<title>Documentation - Stack Overflow</title>
该模块已针对 Python 3.x 进行了更新,但用例基本保持不变。urllib.request.urlopen
将返回类似文件的对象。