python做http请求的用到的三种方法

python做http请求可以用到三种工具类 httplib ,urllib2,requests,其中requests最为简单

代码如下:

# -*- coding: UTF-8 -*-
import httplib
import urllib
import urllib2
import requests

class HttpUtil:
    #使用 httplib
    def get(self,ip,url):
        conn = httplib.HTTPConnection(ip)
        conn.request('GET',url)
        result = conn.getresponse()
        resultContent = result.read()
        conn.close()
        return resultContent

    # 使用urllib2
    def urlGet(self, url):
        req = urllib2.Request(url)
        res_data = urllib2.urlopen(req)
        res = res_data.read()
        return res

    def requestGet(self, url,params):
        res = requests.get(url, params)
        return res.text


    def post(self,ip,url,params):
        headers = {'Content-type': 'application/x-www-form-urlencoded', 'Accept': 'text/plain'}
        conn = httplib.HTTPConnection(ip)
        test_data_urlencode = urllib.urlencode(params)
        conn.request('POST', url, test_data_urlencode,headers)
        result = conn.getresponse()
        resultContent = result.read()
        conn.close()
        return resultContent


    def urlPost(self,url,params):
        test_data_urlencode = urllib.urlencode(params)
        req = urllib2.Request(url, test_data_urlencode)
        res_data = urllib2.urlopen(req)
        res = res_data.read()
        return res

    def requestPost(self,url,params):
        res = requests.get(url, params)
        return res.text



if __name__ == "__main__":

    url = "http://127.0.0.1:81/hello/add"
    http = HttpUtil()

    #get的三种方法
    res = http.get("127.0.0.1:81", "http://127.0.0.1:81/hello/add?name=aaa")
    print res

    res = http.urlGet("http://127.0.0.1:81/hello/add?name=bbb")
    print res

    params = {'name': 'ccc'}
    res = http.requestGet("http://127.0.0.1:81/hello/add",params)
    print res

    #post三种方法
    params = {'name': 'ddd'}
    res = http.urlPost('http://127.0.0.1:81/hello/add',params);
    print res

    params = {'name': 'eee'}
    res = http.post('127.0.0.1:81',url,params)
    print res

    params = {'name': 'fff'}
    res = http.requestPost(url, params)
    print res

 

执行的结果为:

{"error_info":"数据添加成功","error_no":0}
{"error_info":"数据添加成功","error_no":0}
{"error_info":"数据添加成功","error_no":0}
{"error_info":"数据添加成功","error_no":0}
{"error_info":"数据添加成功","error_no":0}
{"error_info":"数据添加成功","error_no":0}

比较简单粗暴,http接口就是本地用java写的一个insert数据到mysql表中。

初学,总结一下

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值