对python3标准库httpclient的使用详解


Posted in Python onDecember 18, 2018

如下所示:

import http.client, urllib.parse
import http.client, urllib.parse
import random

USER_AGENTS = [
 "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; AcooBrowser; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
 "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; Acoo Browser; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; .NET CLR 3.0.04506)",
 "Mozilla/4.0 (compatible; MSIE 7.0; AOL 9.5; AOLBuild 4337.35; Windows NT 5.1; .NET CLR 1.1.4322; .NET CLR 2.0.50727)",
 "Mozilla/5.0 (Windows; U; MSIE 9.0; Windows NT 9.0; en-US)",
 "Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Win64; x64; Trident/5.0; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 2.0.50727; Media Center PC 6.0)",
 "Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; .NET CLR 1.0.3705; .NET CLR 1.1.4322)",
 "Mozilla/4.0 (compatible; MSIE 7.0b; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; InfoPath.2; .NET CLR 3.0.04506.30)",
 "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN) AppleWebKit/523.15 (KHTML, like Gecko, Safari/419.3) Arora/0.3 (Change: 287 c9dfb30)",
 "Mozilla/5.0 (X11; U; Linux; en-US) AppleWebKit/527+ (KHTML, like Gecko, Safari/419.3) Arora/0.6",
 "Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.2pre) Gecko/20070215 K-Ninja/2.1.1",
 "Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.9) Gecko/20080705 Firefox/3.0 Kapiko/3.0",
 "Mozilla/5.0 (X11; Linux i686; U;) Gecko/20070322 Kazehakase/0.4.5",
 "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.8) Gecko Fedora/1.9.0.8-1.fc10 Kazehakase/0.5.6",
 "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.11 (KHTML, like Gecko) Chrome/17.0.963.56 Safari/535.11",
 "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/535.20 (KHTML, like Gecko) Chrome/19.0.1036.7 Safari/535.20",
 "Opera/9.80 (Macintosh; Intel Mac OS X 10.6.8; U; fr) Presto/2.9.168 Version/11.52",
 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36'
]

def get_demo(num,keyword):
 page = urllib.parse.urlencode({'page':num})
 params = urllib.parse.urlencode({})

 headers = {'Referer': 'http://t66y.com/index.php',
    'User-Agent': random.choice(USER_AGENTS )
    'Accept - Encoding': 'gzip, deflate',
    'Accept - Language': 'zh - CN, zh;q = 0.9',
    }
 conn = http.client.HTTPConnection("ttty.com", timeout=10)

 conn.request("GET", "/thread0806.php?fid=16&"+page, params, headers)

 r1 = conn.getresponse()

 data = r1.read().decode('gbk') # This will return entire content.
 content = data.find(keyword)

 if content != -1:
  print('bingo:'+page)
 else:
  print('try {},status:{}'.format(page, r1.status))


def post_demo():
 params = urllib.parse.urlencode({'qruuid': 'asdf', 'user_uuid': '3423412dfasf'})
 headers = {"Content-type": "application/x-www-form-urlencoded",
    "Accept": "application/json"}
 conn = http.client.HTTPSConnection("wx.coderr.cn")
 conn.request("POST", "/api/qrcode", params, headers)
 response = conn.getresponse()
 print(response.status, response.reason)

 if not response.closed:
  data = response.read()
  print(data, type(data.decode('utf-8')))

 conn.close()

if __name__ == '__main__':
 pass

以上这篇对python3标准库httpclient的使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用pywin32实现windows模拟鼠标及键盘动作
Apr 22 Python
Python中标准模块importlib详解
Apr 16 Python
解决PyCharm中光标变粗的问题
Aug 05 Python
python消费kafka数据批量插入到es的方法
Dec 27 Python
windows下python虚拟环境virtualenv安装和使用详解
Jul 16 Python
Django实现分页显示效果
Oct 31 Python
如何在python中写hive脚本
Nov 08 Python
python3.7通过thrift操作hbase的示例代码
Jan 14 Python
基于Python3.6中的OpenCV实现图片色彩空间的转换
Feb 03 Python
python 实现线程之间的通信示例
Feb 14 Python
python脚本第一行如何写
Aug 30 Python
Python3+PyCharm+Django+Django REST framework配置与简单开发教程
Feb 16 Python
python 3.3 下载固定链接文件并保存的方法
Dec 18 #Python
python根据url地址下载小文件的实例
Dec 18 #Python
如何用python写一个简单的词法分析器
Dec 18 #Python
详解Python requests 超时和重试的方法
Dec 18 #Python
解决新django中的path不能使用正则表达式的问题
Dec 18 #Python
python 获取url中的参数列表实例
Dec 18 #Python
python 函数内部修改外部变量的方法
Dec 18 #Python
You might like
php小型企业库存管理系统的设计与实现代码
2011/05/16 PHP
PHP实现事件机制的方法
2015/07/10 PHP
PHP实现浏览器中直接输出图片的方法示例
2018/03/14 PHP
关于IE、Firefox、Opera页面呈现异同 写脚本很痛苦
2009/08/28 Javascript
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
2011/07/28 Javascript
Kibo 用于处理键盘事件的Javascript工具库
2011/10/28 Javascript
基于JavaScript实现生成名片、链接等二维码
2015/09/20 Javascript
js实现网页收藏功能
2015/12/17 Javascript
JavaScript事件 "事件对象"的注意要点
2016/01/14 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
提升页面加载速度的插件InstantClick
2017/09/12 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
通过 JS 判断页面是否有滚动条的实现方法
2018/04/05 Javascript
js中null与空字符串""的区别讲解
2019/01/17 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
2019/09/11 Javascript
phpsir 开发 一个检测百度关键字网站排名的python 程序
2009/09/17 Python
在Django的form中使用CSS进行设计的方法
2015/07/18 Python
对pandas读取中文unicode的csv和添加行标题的方法详解
2018/12/12 Python
djano一对一、多对多、分页实例代码
2019/08/16 Python
wxPython+Matplotlib绘制折线图表
2019/11/19 Python
python实现简单图书管理系统
2019/11/22 Python
python 实现在shell窗口中编写print不向屏幕输出
2020/02/19 Python
使用PyWeChatSpy自动回复微信拍一拍功能的实现代码
2020/07/02 Python
Python 如何查找特定类型文件
2020/08/17 Python
Python urlopen()参数代码示例解析
2020/12/10 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
如何启动时不需输入用户名与密码
2014/05/09 面试题
一道SQL存储过程面试题
2016/10/07 面试题
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
美国旅游签证工作证明
2014/10/14 职场文书
党的群众路线教育实践活动方案
2014/10/31 职场文书
深入浅出的讲解:信号调制到底是如何实现的
2022/02/18 无线电
「约定的梦幻岛」作画发布诺曼生日新绘
2022/03/21 日漫
大型强子对撞机再次重启探索“第五种自然力”
2022/04/29 数码科技