Python发送GET和POST请求

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

1、python发送GET请求

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

  1. echo 'Old friends and old wines are best.';  
python发送get请求代码:
[python] view plain copy
  1. #!/usr/bin/env python  
  2. #coding=utf8  
  3.   
  4. import httplib  
  5.   
  6. httpClient = None  
  7.   
  8. try:  
  9.     httpClient = httplib.HTTPConnection('localhost'80, timeout=30)  
  10.     httpClient.request('GET''/test.php')  
  11.   
  12.     #response是HTTPResponse对象  
  13.     response = httpClient.getresponse()  
  14.     print response.status  
  15.     print response.reason  
  16.     print response.read()  
  17. except Exception, e:  
  18.     print e  
  19. finally:  
  20.     if httpClient:  
  21.         httpClient.close()  
上面代码中使用了finally来保证即使出错的时候也能关闭httpClient。

2、python发送POST请求
修改test.php内容,打印出$_POST数组:

  1. var_dump($_POST);  

python发起post请求代码:
[python] view plain copy
  1. #!/usr/bin/env python  
  2. #coding=utf8  
  3.   
  4. import httplib, urllib  
  5.   
  6. httpClient = None  
  7. try:  
  8.     params = urllib.urlencode({'name''tom''age'22})  
  9.     headers = {"Content-type""application/x-www-form-urlencoded"  
  10.                     , "Accept""text/plain"}  
  11.   
  12.     httpClient = httplib.HTTPConnection("localhost"80, timeout=30)  
  13.     httpClient.request("POST""/test.php", params, headers)  
  14.   
  15.     response = httpClient.getresponse()  
  16.     print response.status  
  17.     print response.reason  
  18.     print response.read()  
  19.     print response.getheaders() #获取头信息  
  20. except Exception, e:  
  21.     print e  
  22. finally:  
  23.     if httpClient:  
  24.         httpClient.close()  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值