python delete请求_python urllib2实现http GET PUT DELETE POST的方法

#!/usr/bin/env python

# -*- coding: utf-8 -*-

# @Time : 2019/3/11 下午8:33

# @Author : liubing

# @File : httpMethod.py 定义了http 常用的请求

import urllib2

import urllib

import socket

import json

class httpMethod(object):

def __init__(self):

pass

def post(self, url=None, params=None, timeout=50):

"""Post方法"""

old_timeout = socket.getdefaulttimeout()

socket.setdefaulttimeout(timeout)

try:

# POST

if params:

request = urllib2.Request(url, urllib.urlencode(params))

# GET

else:

request = urllib2.Request(url)

request.add_header(‘Accept-Language‘, ‘zh-cn‘)

response = urllib2.urlopen(request)

content = response.read()

if response.code == 200:

return content, True

return content, False

except Exception as ex:

print ("Post 方法调用异常:%s" % ex)

return str(ex), False

finally:

if ‘response‘ in dir():

response.close()

socket.setdefaulttimeout(old_timeout)

def put(self, url=None, params=None, urlencode=True):

"""urlencode 表明参数是否需要被编码,如果此选项为false。传入的params 需要是字符串形式"""

try:

if urlencode:

data = urllib.urlencode(params)

else:

data = params

req = urllib2.Request(url, data)

req.get_method = lambda: ‘PUT‘

ret = urllib2.urlopen(req).read()

return ret

except Exception as ex:

print("PUT 方法调用异常:%s" % ex)

def get(self, url):

"""get方法"""

try:

req = urllib2.Request(url)

ret = urllib2.urlopen(req)

return json.load(ret)

except Exception as ex:

print("Get方法调用异常:%s" % ex)

def http_del(self, url=None, params=None):

"""定义delete 方法"""

try:

data = urllib.urlencode(params)

req = urllib2.Request(url, data)

req.get_method = lambda: ‘DELETE‘

ret = urllib2.urlopen(req).read()

return ret

except Exception as ex:

print("DELETE 方法调用异常:%s" % ex)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值