python用httplib模块发送get和post请求

独自等待 2017年5月10日19:55:58评论364 views字数 1535阅读5分7秒阅读模式

在python中,模拟http客户端发送get和post请求,主要用httplib模块的功能。

1、python发送GET请求

我在本地建立一个测试环境,python.php的内容就是输出一句话:


python发送get请求代码:

#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2014/8/19
# Created by 独自等待
# 博客 http://www.waitalone.cn/
import httplib

httpClient = None

try:
    httpClient = httplib.HTTPConnection('localhost', 80, timeout=10)
    httpClient.request('GET', '/python.php')

    # response是HTTPResponse对象
    response = httpClient.getresponse()
    print response.status
    print response.reason
    print response.read()
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()

上面代码中使用了finally来保证即使出错的时候也能关闭httpClient。运行这个程序,在我的电脑上输出结果如下:

python用httplib模块发送get和post请求

2、python发送POST请求

修改python.php内容,打印出$_POST数组:


python发起post请求代码:

#!/usr/bin/env python
# -*- coding: gbk -*-
# -*- coding: utf-8 -*-
# Date: 2014/8/19
# Created by 独自等待
# 博客 http://www.waitalone.cn/
import urllib, httplib

httpClient = None
try:
    params = urllib.urlencode({'name': 'waitalone.cn', 'age': '5'})
    headers = {'Content-type': 'application/x-www-form-urlencoded', 'Accept': 'text/plain'}
    httpClient = httplib.HTTPConnection('localhost', 80, timeout=10)
    httpClient.request('POST', '/python.php', params, headers)
    response = httpClient.getresponse()
    print response.status
    print response.reason
    print response.read()
    print response.getheaders()
except Exception, e:
    print e
finally:
    if httpClient:
        httpClient.close()

python用httplib模块发送get和post请求

友情提示:

在http操作中,有时会需要了解一些http协议的相关内容,可以前往w3c查看:http://www.w3.org/Protocols/rfc2616/rfc2616.html

转自:http://www.01happy.com/python-httplib-get-and-post/



from www.waitalone.cn.thanks for it.

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
独自等待
  • 本文由 发表于 2017年5月10日19:55:58
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   python用httplib模块发送get和post请求http://cn-sec.com/archives/50106.html

发表评论

匿名网友 填写信息