python发送HTTP请求的方法小结

yipeiwu_com6年前Python基础

本文实例讲述了python发送HTTP请求的方法。分享给大家供大家参考。具体如下:

这里包含 Python 使用 GET/HEAD/POST 方法进行 HTTP 请求

1. GET 方法:

>>> import httplib 
>>> conn = httplib.HTTPConnection("www.python.org") 
>>> conn.request("GET", "/index.html") 
>>> r1 = conn.getresponse() 
>>> print r1.status, r1.reason 
200 OK 
>>> data1 = r1.read() 
>>> conn.request("GET", "/parrot.spam") 
>>> r2 = conn.getresponse() 
>>> print r2.status, r2.reason 
404 Not Found 
>>> data2 = r2.read() 
>>> conn.close()

2. HEAD 方法:

>>> import httplib 
>>> conn = httplib.HTTPConnection("www.python.org") 
>>> conn.request("HEAD","/index.html") 
>>> res = conn.getresponse() 
>>> print res.status, res.reason 
200 OK 
>>> data = res.read() 
>>> print len(data) 
0
>>> data == '' 
True

3. POST 方法:

>>> import httplib, urllib 
>>> params = urllib.urlencode({'spam': 1, 'eggs': 2, 'bacon': 0}) 
>>> headers = {"Content-type": "application/x-www-form-urlencoded", 
...      "Accept": "text/plain"} 
>>> conn = httplib.HTTPConnection("musi-cal.mojam.com:80") 
>>> conn.request("POST", "/cgi-bin/query", params, headers) 
>>> response = conn.getresponse() 
>>> print response.status, response.reason 
200 OK 
>>> data = response.read() 
>>> conn.close()

希望本文所述对大家的Python程序设计有所帮助。

相关文章

python跳出双层for循环的解决方法

一.问题描述 在二维数组的遍历中,我们经常使用双层for循环。在某些时候,我们并不需要遍历整个二维数组。当条件满足时就应该终止for循环。但是,直接在内层循环中break并不会让外层循环...

Python中的Django基本命令实例详解

一、新建项目 $django-admin.py  startproject  project_name # 特别是在 windows 上,如果报错,尝试用 djang...

Python处理文本文件中控制字符的方法

控制字符 控制字符(Control Character),或者说非打印字符,出现于特定的信息文本中,表示某一控制功能的字符,如控制符:LF(换行)、CR(回车)、FF(换页)、DEL(...

Django查找网站项目根目录和对正则表达式的支持

Django查找网站项目根目录和对正则表达式的支持

如果你想通过http://127.0.0.1:8000/看网站根目录你将看到一个404错误消息。Django不会增加任何东西在网站根目录,在任何情况下这个URL都不是特殊的 就像在URL...

Python列表append和+的区别浅析

在python中使用列表的时候大家经常会需要向一个列表中添加一个元素,像下面这两种使用方法需要注意: 复制代码 代码如下: t = [1, 2, 3] t1 = t.append([4]...