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

博客介绍了Python做HTTP请求可使用的三种工具类:httplib、urllib2和requests,指出requests最为简单。还给出了执行结果示例,其http接口是用Java写的向MySQL表插入数据的接口。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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表中。

初学,总结一下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值