首页 > 其他分享 >代理(正向代理、方向代理)

代理(正向代理、方向代理)

时间:2023-02-21 12:32:47浏览次数:37  
标签:http 请求 代理 代理服务器 方向 正向 proxies 客户端


什么是IP代理?

Ip代理服务器,其功能是代理网络用户去获取网络信息,形象的说就是网络信息的中转站。

为什么爬虫要使用代理?

让目标服务器以为不是同一个客户端在请求,防止因为ip发送过多而被反爬。
防止我们的真实ip被泄露,防止被追究责任。

代理(正向代理、方向代理)_反向代理

代理(正向代理、方向代理)_代理服务器_02

正向代理:

它隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都被代理服务器代替来请求

在天朝用浏览器访问 www.google.com 时,被残忍的拒绝了,于是你可以在国外搭建一台代理服务器,让代理帮我去请求google.com,代理把请求返回的相应结构再返回给我。

反向代理:

隐藏了真实的服务端,反向代理服务器会帮我们把请求转发到真实的服务器那里去。Nginx就是性能非常好的反向代理服务器,用来做负载均衡。

eg:拨打10086客服电话,可能一个地区的10086客服有几个或者几十个,你永远都不需要关心在电话那头的是哪一个,叫什么,男的,还是女的,漂亮的还是帅气的,你都不关心,你关心的是你的问题能不能得到专业的解答,你只需要拨通了10086的总机号码,电话那头总会有人会回答你,只是有时慢有时快而已。那么这里的10086总机号码就是我们说的反向代理。客户不知道真正提供服务人的是谁。

两者的区别在于代理的对象不一样:

正向代理代理的对象是客户端,反向代理代理的对象是服务端

使用代理
用法:requests.get(“​https://www.baidu.com“, proxies = proxies)

proxies的形式:字典

proxies = {
“http”: “​http://12.34.56.79:95​**”,
“https”: “​https://12.34.56.79:95​**”,
}

以今日头条为例

# coding=utf-8
import requests
# 导入模块

# 构建url
url = 'https://www.toutiao.com'

# 构建请求头
headers = {'user-agent': 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36'}

# 构建代理
proxies = {
'http': 'http://115.223.19*.2**',
'http': 'http://121.232.19*.1**'
}

# 代理請求代理
resqonse = requests.get(url, headers=headers, proxies=proxies)

#保存数据
with open('toutiao.html', 'wb') as f:
f.write(resqonse.content)

# 打印代理url
print(resqonse.url)


标签:http,请求,代理,代理服务器,方向,正向,proxies,客户端
From: https://blog.51cto.com/u_12498385/6076499

相关文章

  • 动态代理1_基本实现步骤与动态代理2_增强方法
    动态代理1_基本实现步骤 设计模式:一些通用的解决固定问题的方式1.装饰模式2.代理模式概念:1.真实对象:被代理的......
  • 【Spring AOP】【六】Spring AOP源码解析-代理对象创建过程
    1 前言我们看过Spring对AOP配置的解析以及通知器的筛选,也看过了动态代理的实现,这节那我们就看下Spring创建代理的过程,为下节看代理具体的执行过程做铺垫哈。那我们从哪......
  • Windows提权的几个方向(持续更新中)
    1、利用Windows系统漏洞匹配可提权漏洞编号,系统是否缺失该补丁。1、人工查用systeminfo命令或wmicqfegetHotFixID命令获取已经打了的补丁编号。2、利用Metasploit......
  • 【代理】【二】代理源码解析-JDK动态代理使用及源码分析
    1 前言本节我们讲一下动态代理的实现过程,并且从源码分析下产生过程。看之前先简单看几个基础知识:函数接口BiFunction<T,U,R>:Rapply(Tt,Uu);就是参数是T、U......
  • Windows打开代理快捷方式
    最近使用电脑需要频繁打开关闭网络代理(全局代理会导致一些网站打不开),在想有没有快捷方式,一搜果然有,看来有跟我一样的使用习惯的人。传统切换代理开关,步骤如下:设置=>网......
  • 【代理】【一】代理源码解析-导读
    1 什么是代理代理是指给某一个对象提供一个代理对象,代理对象持有原对象的引用。一句话通过代理对象增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作......
  • npm代理网络链接失败
     解决方法:1、取消npm代理设置,输入命令:npmconfigsetproxynull2、输入命令:npmconfigsethttps-proxynull3、添加淘宝镜像,输入命令:npm--registryhttps://regist......
  • 判断技术方向
    判断技术方向2023-02-19技术的走向,从SOA,到服务化,微服务,到servicemesh不要人云亦云,跟着说概念思考点在于:新技术出现,它的价值是什么?相比以前发生了什么变化?大数据......
  • 如何在 kitten 里生成动态个数个立方体(水平方向平铺)以及避免闪烁问题
    效果如下:一个立方体:两个立方体:三个立方体:实现思路关键是求出第一个立方体开始绘制的第一个点的水平方向坐标。我引入三个变量,分别是立方体的个数,第一个立方体......
  • Kitten 动态绘制 Y 轴方向立方体的实现方法
    我们之前的实践里,已经探讨了在水平方向动态绘制立方体的积木搭建方法,如下图所示:接下来我们期望在Y轴方向也绘制立方体,如下图所示。其实只需要在水平方向依次绘制两列......