认证,代理,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. java数据结构1--数组、排序和Arrays工具类

    数组:Array 数组的定义 数组的内存结构 数组定义常见问题 数组常见操作 Java参数传递问题--值传递 二维数组 1.数组概念 同一种类型数据的集合,可以是基本数据类型,也可以是引用数据类型. ...

  2. iOS弹窗UIAlertAction用法

    UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"确认" message:@&quo ...

  3. ERROR 1040 (08004): Too many connections

    ERROR 1040 (08004): Too many connections 长期一来,mysql低版本中,当面对连接数陡增而出现too many connections时,往往比较棘手.今天特意 ...

  4. CSS设置背景色

    最好用background-color:rgba(37,77,113,1); 因为用opacity会让所有自标签都改变

  5. BZOJ 4289: PA2012 Tax Dijkstra + 查分

    Description 给出一个N个点M条边的无向图,经过一个点的代价是进入和离开这个点的两条边的边权的较大值,求从起点1到点N的最小代价.起点的代价是离开起点的边的边权,终点的代价是进入终点的边的边 ...

  6. 类锁和对象锁,synchronized修饰static方法与非static方法的区别

    当synchronized修饰一个static方法时,多线程下,获取的是类锁(即Class本身,注意:不是实例), 作用范围是整个静态方法,作用的对象是这个类的所有对象. 当synchronized修 ...

  7. phpcms v9 更改首页

    phpcms v9的默认首页是(域名/index.php?m=content&c=index&a=init)那为什么你直接敲一个域名它就自己进 去了呢,其实在caches-->c ...

  8. Starting MySQL... ERROR! The server quit without updating PID file (/usr/local/mysql/data/VM_0_6_centos.pid)

    刚接触MySql数据库,参考一些文章后搭建起来了也创建了数据库,程序跑到很好,一觉醒来突然连接不上了 MySql数据库了. 研究了好一会才找到原因. 现象: 登录数据库失败 [root@VM_0_6_ ...

  9. Fatal error: Class 'think\db' not found

    在model层写了一个查询语句结果报错 Fatal error: Class 'think\db' not found   $list= Db::table('m_my_reserve_assess' ...

  10. 一个”.java”源文件中是否可以包含多个类(不是内部类)?有什么限制

    这个是可以的,一个“.java”源文件里面可以包含多个类,但是只允许有一个public类,并且类名必须和文件名一致. 每个编译单元只能有一个public 类.这么做的意思是,每个编译单元只能有一个公开 ...