对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 相关文章推荐
Python中lambda的用法及其与def的区别解析
Jul 28 Python
处理Python中的URLError异常的方法
Apr 30 Python
详解Python的Flask框架中生成SECRET_KEY密钥的方法
Jun 07 Python
Python中操作mysql的pymysql模块详解
Sep 13 Python
基于Python 的进程管理工具supervisor使用指南
Sep 18 Python
Python即时网络爬虫项目启动说明详解
Feb 23 Python
Python3中的json模块使用详解
May 05 Python
使用django实现一个代码发布系统
Jul 18 Python
Python识别html主要文本框过程解析
Feb 18 Python
tensorflow实现从.ckpt文件中读取任意变量
May 26 Python
Python while true实现爬虫定时任务
Jun 08 Python
Python中异常处理用法
Nov 27 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
各种战术和打法的原创者
2020/03/04 星际争霸
56.com视频采集接口程序(PHP)
2007/09/22 PHP
php实现扫描二维码根据浏览器类型访问不同下载地址
2014/10/15 PHP
PHP加密解密类实例分析
2015/04/20 PHP
分享php代码将360浏览器导出的favdb的sqlite数据库文件转换为html
2015/12/09 PHP
PHP错误处理函数
2016/04/03 PHP
各种快递查询--Api接口
2016/04/26 PHP
jQuery中hide()方法用法实例
2014/12/24 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
一篇文章掌握RequireJS常用知识
2016/01/26 Javascript
jQuery简单实现页面元素置顶时悬浮效果示例
2016/08/01 Javascript
Node.js的特点详解
2017/02/03 Javascript
Angular2 自定义validators的实现方法
2017/07/05 Javascript
underscore之function_动力节点Java学院整理
2017/07/11 Javascript
Vue学习笔记进阶篇之函数化组件解析
2017/07/21 Javascript
详解在Vue中有条件地使用CSS类
2017/09/30 Javascript
微信小程序template模板实例详解
2017/10/27 Javascript
vue2.0 路由不显示router-view的解决方法
2018/03/06 Javascript
JavaScript常用数学函数用法示例
2018/05/14 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
浅谈React Native 传参的几种方式(小结)
2019/05/21 Javascript
JavaScript 继承 封装 多态实现及原理详解
2019/07/29 Javascript
JavaScript this关键字指向常用情况解析
2020/09/02 Javascript
用Python删除本地目录下某一时间点之前创建的所有文件的实例
2017/12/14 Python
django传值给模板, 再用JS接收并进行操作的实例
2018/05/28 Python
Python 70行代码实现简单算式计算器解析
2019/08/30 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
python如何用matplotlib创建三维图表
2021/01/26 Python
利用CSS3参考手册和CSS3代码生成工具加速来学习网页制
2012/07/11 HTML / CSS
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
顶岗实习接收函
2014/01/09 职场文书
展会邀请函范文
2014/01/26 职场文书
oracle连接ODBC sqlserver数据源的详细步骤
2021/07/25 Oracle
全新239军机修复记
2022/04/05 无线电
Docker与K8s关系介绍不会Docker也可以使用K8s
2022/06/25 Servers
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS