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)
python urllib2实现http GET PUT DELETE POST的方法的更多相关文章
- python urllib2使用细节
刚好用到,这篇文章写得不错,转过来收藏. 转载自 道可道 | Python 标准库 urllib2 的使用细节 Python 标准库中有很多实用的工具类,但是在具体使用时,标准库文档上对使用细节 ...
- python urllib2使用心得
python urllib2使用心得 1.http GET请求 过程:获取返回结果,关闭连接,打印结果 f = urllib2.urlopen(req, timeout=10) the_page = ...
- python urllib2 模拟网站登陆
python urllib2 模拟网站登陆 1. 可用浏览器先登陆,然后查看网页源码,分析登录表单 2. 使用python urllib2,cookielib 模拟网页登录 import urllib ...
- Python urllib2写爬虫时候每次request open以后一定要关闭
最近用python urllib2写一个爬虫工具,碰到运行一会程序后就会出现scoket connection peer reset错误.经过多次试验发现原来是在每次request open以后没有及 ...
- python urllib2与urllib
1.urllib2可以接受一个Request对象,并以此可以来设置一个URL的headers,但是urllib只接收一个URL. 2.urllib模块可以提供进行urlencode的方法,该方法用于G ...
- Python爬虫突破封禁的6种常见方法
转 Python爬虫突破封禁的6种常见方法 2016年08月17日 22:36:59 阅读数:37936 在互联网上进行自动数据采集(抓取)这件事和互联网存在的时间差不多一样长.今天大众好像更倾向于用 ...
- python web自动化测试框架搭建(功能&接口)——接口公共方法
接口公共方法有:数据引擎.http引擎.Excel引擎 1.数据引擎:获取用例.结果检查.结果统计 # -*- coding:utf-8 -*- from XlsEngine import XlsEn ...
- Python抓取页面中超链接(URL)的三中方法比较(HTMLParser、pyquery、正则表达式) <转>
Python抓取页面中超链接(URL)的3中方法比较(HTMLParser.pyquery.正则表达式) HTMLParser版: #!/usr/bin/python # -*- coding: UT ...
- c++中new和delete的使用方法
c++中new和delete的使用方法 new和delete运算符用于动态分配和撤销内存的运算符 new用法: 1. 开辟单变量地址空间 1)new int; //开辟一个存放数组的存储空间 ...
随机推荐
- 【Offer】[8] 【中序遍历的下一个结点】
题目描述 思路分析 Java代码 代码链接 题目描述 给定一棵二叉树和其中的一个结点,如何找出中序遍历顺序的下一个结点? 树中的结点除了有两个分别指向左右子结点的指针以外,还有一个指向父结点的指针. ...
- linux常用命令三
linux常用命令三 系统信息 arch 显示机器的处理器架构(1) uname -m 显示机器的处理器架构(2) uname -r 显示正在使用的内核版本 dmidecode -q 显示硬件系统部件 ...
- windows update自启动解决方法
win+r打开运行,输入services.msc打开服务面板 找到Windows update服务,将常规选项卡的启动类型改为禁用,然后选择恢复选项卡,将三个失败选项都改为无操作 win+r打开运行, ...
- “独立”OpenVINO R2019_2 版本中的“super_resolution_demo”例子的,解决由于 R2019_1到R2019_2 升级造成的问题
OpenVINO提供了丰富的例子,为了方便研究和使用,我们需要将这些例子由原始的demo目录中分离出来,也就是“独立”运行,这里我们选择了较为简单的super_resolution_demo来说明问题 ...
- 未能加载文件或程序集“Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=……”
emmmm~ 这是一个让人烦躁有悲伤的问题~ 背景 我也不知道什么原因,用着用着,正好好的,就突然报了这种问题~ 未能加载文件或程序集“Renci.SshNet, Version=2016.1.0.0 ...
- 一次误用CSRedisCore引发的redis故障排除经历
前导 上次Redis MQ分布式改造完成之后, 编排的容器稳定运行了一个多月,昨天突然收到ETL端同事通知,没有采集到解析日志了. 赶紧进服务器看了一下,用于数据接收的receiver容器挂掉了, 尝 ...
- JS权威指南需要注意的知识点(1-6章)
客官快来看一看了,都给你浓缩好了,确定不进来搂一眼嘛,走过路过不要错过哟 in运算符 in运算符希望它的左操作数是一个字符串或可以转化为字符串,希望它的右操作数是一个对象,如果右侧的对象拥有一个名为左 ...
- C# HTTP网络常用方法封装
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Regi ...
- 安装Winservices服务出现“设置服务登录”
安装服务时出现 设置服务登录 窗口 别紧张 将serviceProcessInstaller1 Account 设置为LocalSystem 即可
- APP稳定性测试
APP稳定性测试-monkey测试 第一篇-App稳定性测试-Monkey(基本操作) 准备工作 1.首先下载好adb工具 2.使用数据线连接电脑,打开usb调试 3.使用win+R打开运行, ...