认证,代理,cookie

 1from urllib.request import HTTPBasicAuthHandler, HTTPPasswordMgrWithDefaultRealm, build_opener
2from urllib.error import URLError
3from urllib import request,parse
4from urllib.request import ProxyHandler, build_opener
5import ssl
6import http.cookiejar, urllib.request
7
8ssl._create_default_https_context = ssl._create_unverified_context
9
10
11'''验证'''
12def studyAuth():
13    username = 'username'
14    password = 'password'
15    url = 'http://localhost:5000/'
16    p = HTTPPasswordMgrWithDefaultRealm()
17    p.add_password(None, url, username, password)
18    auth_handle = HTTPBasicAuthHandler(p)
19    opener = build_opener(auth_handle)
20
21    try:
22        result = opener.open(url)
23        html = result.read().decode('utf-8')
24        print(html)
25    except URLError as  e:
26        print(e.reason)
27
28studyAuth()
29
30'''代理'''
31def studyProxy():
32    proxy_handle = ProxyHandler({
33        'http': 'http:127.0.0.1:9743',
34        'https': 'https:127.0.0.1:9743'
35    })
36    opener = build_opener(proxy_handle)
37    try:
38        response = opener.open('https://www.baidu.com')
39        print(response.read().decode('utf-8'))
40    except URLError as e:
41        print(e.reason)
42
43studyProxy()
44
45'''cookie'''
46def studyCookie():
47    cookie = http.cookiejar.CookieJar()
48    handle = urllib.request.HTTPCookieProcessor(cookie)
49    opener = urllib.request.build_opener(handle)
50    response = opener.open('https://www.baidu.com')
51    for item in cookie:
52        print(item.name)
53        print(item.value)
54        print(item.name + '=' + item.value)
55
56def studyCookie1():
57    filename = 'cookie.txt'
58    cookie = http.cookiejar.LWPCookieJar(filename)
59#   cookie = http.cookiejar.MozillaCookieJar(filename)
60    handle = urllib.request.HTTPCookieProcessor(cookie)
61    opener = urllib.request.build_opener(handle)
62    response = opener.open('http://www.baidu.com')
63    cookie.save(ignore_discard=True, ignore_expires=True)
64
65'''读取利用生成的cookie文件'''
66def studyCookie2():
67    cookie = http.cookiejar.LWPCookieJar()
68    cookie.load('cookie.txt', ignore_expires=True, ignore_discard=True)
69    handle = urllib.request.HTTPCookieProcessor(cookie)
70    opener = urllib.request.build_opener(handle)
71    response = opener.open('http://www.baidu.com')
72    print(response.read().decode('utf-8'))
73
74studyCookie2()

urllib库认证,代理,cookie的更多相关文章

  1. Python3 urllib库和requests库

    1. Python3 使用urllib库请求网络 1.1 基于urllib库的GET请求 请求百度首页www.baidu.com ,不添加请求头信息: import urllib.requests d ...

  2. 4-urllib库添加代理,添加请求头格式 模板

    urllib 库设置代理的方法 案例如下:

  3. python爬虫 - Urllib库及cookie的使用

    http://blog.csdn.net/pipisorry/article/details/47905781 lz提示一点,python3中urllib包括了py2中的urllib+urllib2. ...

  4. 第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理—用户代理和ip代理结合应用

    第三百二十九节,web爬虫讲解2—urllib库爬虫—ip代理 使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置build_opener ...

  5. urllib库利用cookie实现模拟登录慕课网

    思路 1.首先在网页中使用账户和密码名登录慕课网 2.其次再分析请求头,如下图所示,获取到请求URL,并提取出cookie信息,保存到本地 3.最后在代码中构造请求头,使用urllib.request ...

  6. 爬虫之urllib库

    一.urllib库简介 简介 Urllib是Python内置的HTTP请求库.其主要作用就是可以通过代码模拟浏览器发送请求.它包含四个模块: urllib.request :请求模块 urllib.e ...

  7. python3爬虫之Urllib库(二)

    在上一篇文章中,我们大概讲了一下urllib库中最重要的两个请求方法:urlopen()  和  Request() 但是仅仅凭借那两个方法无法执行一些更高级的请求,如Cookies处理,代理设置等等 ...

  8. Python3爬虫一之(urllib库)

    urllib库是python3的内置HTTP请求库. ython2中urllib分为 urllib2.urllib两个库来发送请求,但是在python3中只有一个urllib库,方便了许多. urll ...

  9. python3中urllib库的request模块详解

    刚刚接触爬虫,基础的东西得时时回顾才行,这么全面的帖子无论如何也得厚着脸皮转过来啊! 原帖地址:https://www.2cto.com/kf/201801/714859.html 什么是 Urlli ...

随机推荐

  1. Linux系统中的硬件问题如何排查?(6)

    Linux系统中的硬件问题如何排查?(6) 2013-03-27 10:32 核子可乐译 51CTO.com 字号:T | T 在Linux系统中,对于硬件故障问题的排查可能是计算机管理领域最棘手的工 ...

  2. hexo+github+Theme Art Design文章发布

    新建 hexo new "YYYY-MM-DD-title" 为了更好的标识文章和防止重复,文章对应的markdown文件的命名应该遵循:YYYY-MM-DD-title 格式. ...

  3. iOS自定义键盘的简单实现

    自定义键盘类VolumeInputKeyboardView: VolumeInputKeyboardView.h文件: #import <UIKit/UIKit.h> NS_ASSUME_ ...

  4. node.js入门学习(一)环境安装,REPL,fs模块,path模块,http模块

    一.node.js介绍 1.1.node.js是什么 官网首页总结:Node.js® 是一个基于 Chrome V8 引擎 的 JavaScript 运行时. 1)node.js是一个开发平台,就像j ...

  5. java总结2

    1,对象数组,必须指定了数组长度,长度是固定的 2,除了ArrayList<E>以外,类赋值给变量,只有string类拿到的是值,其他类拿到的都是类的地址值, ArrayList<E ...

  6. 数据:ContentProvider类

    一个程序可以通过实现一个Content provider的抽象接口将自己的数据完全暴露出去,而且Content providers是以类似数据库中表的方式将数据暴露.   Content provid ...

  7. sublime的python开发环境搭建

    至少很长一段时间内,我个人用的一直是pycharm,也感觉挺好用的,也没啥大毛病 但是pycharm确实有点笨重,啥功能都有,但是有很多可能这辈子我也不会用到,并且pycharm打开的速度确实不敢恭维 ...

  8. 【Leetcode】二叉树的最小深度

    题目: 给定一个二叉树,找出其最小深度. 注意最小深度的定义! 最小深度是从根节点到最近叶子节点的最短路径上的节点数量. 说明: 叶子节点是指没有子节点的节点. 一.递归法 时间复杂度:O(n).需要 ...

  9. POJ 1573 Robot Motion(模拟)

    题目代号:POJ 1573 题目链接:http://poj.org/problem?id=1573 Language: Default Robot Motion Time Limit: 1000MS ...

  10. Python3学习笔记(七):字典

    在python中,有一种通过名字来引用值的数据结构,这种类型的数据结构成为映射. 字典是Python中唯一内建的映射类型,具有以下特点: 字典中的值是无序的 值存在特定的键(key)下 键(key)可 ...