文章目录

  • urllib方式
  • Requests方式

urllib方式

第一步:创建一个代理处理器ProxyHandler

urllib.request.ProxyHandler(proxies=None)

ProxyHandler是一个类,其参数是一个字典:{“协议类型” :“代理IP:端口号”}。使请求通过代理。如果给定代理,它必须是一个字典映射协议名称到代理的url。默认情况下,从环境变量_proxy中读取代理列表。

第二步:创建一个opener

urllib.request.build_opener(handler)

参数是你创建的处理器对象

第三步:安装opener,install_opener()用来创建(全局)默认opener,这个表示再次调用urlopen将使用你创建的opener,如果不想替换掉,只是想临时使用一下,可以使用opener.open(url),这样就不会对程序默认的urlopen有影响

import urllib.requesturl = "http://www.baidu.com"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
headers = {"User-Agent" : user_agent}# 创建一个代理处理器ProxyHandler
proxy_handler = urllib.request.ProxyHandler({"http":"118.190.95.35:9001"})# 创建一个opener
opener = urllib.request.build_opener(proxy_handler)# 创建请求
request = urllib.request.Request(url, headers=headers)# 调用opener,获取网页响应
response = opener.open(request)# 安装opener,install_opener()用来创建(全局)默认opener,这个表示再次调用urlopen将使用你创建的opener,如果不想替换掉,只是想临时使用一下,可以使用opener.open(url),这样就不会对程序默认的urlopen有影响
# urllib.request.install_opener(opener)
# response = opener.open(request)# 返回HTTP状态码 200 表示访问成功
print(response.getcode())

Requests方式

import requestsurl = "http://www.baidu.com"
user_agent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36"
headers = {"User-Agent" : user_agent}proxies = {"http":"118.190.95.35:9001"}response = requests.get(url, headers = headers, proxies = proxies)print(response.status_code)

Python_Proxy代理相关推荐

  1. Web项目使用nginx实现代理端口访问,看这篇就够了

    在搭建服务器的时候,项目部署在tomcat上,要访问项目,则需要加上端口号,如何隐藏端口号来访问呢,这就用到了nginx. nginx可以在docker上安装,也可以在linux上安装,这里我建议使用 ...

  2. RabbitMQ 入门系列(2)— 生产者、消费者、信道、代理、队列、交换器、路由键、绑定、交换器

    本系列是「RabbitMQ实战:高效部署分布式消息队列」和 「RabbitMQ实战指南」书籍的读书笔记. RabbitMQ 中重要概念 1. 生产者 生产者(producer)创建消息,然后发送到代理 ...

  3. 【Spring】通过动态代理改进银行转账事务控制

    前情 银行转账的案例中,通过给业务层实现类中每个方法中通过事务控制方法添加事务控制,保证每个方法在执行时只有一个数据库连接,通过事务保证整个方法要成功全部成功,要失败都失败. 问题 业务层实现类添加事 ...

  4. 【spring】动态代理

    代理 动态代理 特点:字节码随用随创建,随用随加载 作用:不修改源码的基础上对方法增强 分类:基于接口的动态代理.基于子类的动态代理 基于接口的动态代理: 涉及的类:Proxy     提供者:JDK ...

  5. GOF23设计模式(结构型模式)代理模式~

    代理模式应用场景十分广泛,随便一个框架都会用到,因此学好代理模式对后续框架学习是最基本的要素!!今天我们就来讲讲代理模式! 目录 1.简介 1. 核心作用 2. 角色分析 2. 应用场景 4. 分类 ...

  6. 定制语音代理(智能体)的背后是什么?

    定制语音代理(智能体)的背后是什么? What's behind the move to custom voice agents? 自动化是未来的发展方向.生活在一个现在的时代,希望所有的事情都能迅速 ...

  7. Python使用Redis实现IP代理池

    可以使用快代理,芝麻代理,蘑菇代理 ,讯代理等代理商提供API代理IP或者免费代理建立自己IP代理池 #使用apscheduler库定时爬取ip,定时检测ip删除ip,做了2层检测,第一层爬取后放入r ...

  8. Python 代理爬取网站数据

    代理IP通过https://www.kuaidaili.com/free/ 获取,我使用的的是http 协议的代理.根据自己需求选择http或者https 协议的页面. 访问量会有增长,但效果不是非常 ...

  9. (转)面试必备技能:JDK动态代理给Spring事务埋下的坑!

    一.场景分析 最近做项目遇到了一个很奇怪的问题,大致的业务场景是这样的:我们首先设定两个事务,事务parent和事务child,在Controller里边同时调用这两个方法,示例代码如下: 1.场景A ...

最新文章

  1. HashMap、HashTable、ConcurrentHashMap、HashSet区别 线程安全类
  2. 电子工程师要学的课程有哪些?
  3. python处理csv数据
  4. Zookeeper已经设置了myid文件但是依然报错myid file is missing
  5. linux多网口dhcp服务绑定,Linux系统实现多网段DHCP服务器配置
  6. dbus-python指南
  7. java 数据结构 迷宫_JAVA数据结构与算法之递归(一)~ 迷宫问题
  8. Python3中一维数组和二维数组的输入
  9. hadoop deployment
  10. sprint3个人总结
  11. Linux系统管理员应该知道的20个系统监控工具
  12. ios上传图片遇见了一个TimeoutError(DOM Exception 23)异常
  13. 【刷题第七天】leetcode611.有效三角形的个数
  14. amd raid linux驱动,AMD 磁盘阵列控制器 驱动程序下载——更新 AMD 软件
  15. 干电池电量采集_一种电池电量采集方法与流程
  16. 干起了人人字幕组的翻译工作-贡献开源代码
  17. Stapler#攻略
  18. 离散数学与计算机专业的关系是什么,离散数学跟计算机专业有什么关系?
  19. Android 蓝牙开发——蓝牙连接(六)
  20. Unity DOTS1.0安装

热门文章

  1. java求圆弧切线_两个圆的公切线
  2. VUE 调试神器 vue-devtools
  3. 纪念币预约服务器无响应,为啥纪念币从0点开约?
  4. 聊天机器人-ChatterBot初试
  5. 第七章信息系统安全工程考试要点及真题分布
  6. Android屏幕大小和密度对照表,以及px、dip、sp等像素单位的解释
  7. python常用的绘图库_Python3绘图库Matplotlib(01)
  8. concurrent模块的使用
  9. LeetCode 887. Super Egg Drop
  10. paxos 练手 推进中