什么是代理服务器

代理服务器(Proxy Server)是网上提供转接功能的服务器,在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于客户端和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。  
  比如你想访问的目的网站是A,由于某种原因你不能访问到网站A或者你不想直接访问网站A(这样通过代理服务器网站A,对网站A而已可以隐藏你自己的身份,也就是不知道是谁访问的网站,而认为是代理服务器访问的),此时你就可以使用代理服务器,在实际访问网站的时候,你在浏览器的地址栏内和你以前一样输入你要访问的网站,浏览器会自动先访问代理服务器,然后代理服务器会自动给你转接到你的目标网站。

代理服务器的作用

提高访问速度:通常代理服务器都设置一个较大的缓冲区,当有外界的信息通过时,同时也将其保存到缓冲区中,当其他用户再访问相同的信息时,则直接由缓冲区中取出信息,传给用户,以提高访问速度。
  隐藏真实身份:上网者也可以通过代理服务器隐藏自己的真实地址信息,还可隐藏自己的IP,防止被黑客攻击。  
  突破限制:有时候网络供应商会对上网用户的端口,目的网站,协议,游戏,即时通讯软件等的限制,使用代理服务器都可以突破这些限制。

代理服务器主要类型

HTTP代理:最简单的一种代理形式,能够代理客户机的HTTP访问,上网浏览网页使用的都是HTTP协议,通常的HTTP代理端口为80、3128或8080端口。  
  SOCKS代理:SOCKS代理与HTTP等其他类型的代理不同,它只是简单地传递数据包,而并不关心是何种应用协议,既可以是HTTP协议,也可以是FTP协议,或者其他任何协议,所以SOCKS代理服务器比其他类型的代理服务器速度要快得多。SOCKS代理又分为SOCKS4和 SOCKS5,二者不同的是SOCKS4代理只支持TCP协议(即传输控制协议),而SOCKS5代理则既支持TCP协议又支持UDP协议(即用户数据包协议),还支持各种身份验证机制、服务器端远程域名解析(解决DNS污染就靠这个了)等。SOCK4能做到的SOCKS5都可得到,但SOCKS5能够做到的SOCKS则不一定能做到。目前SOCKS5是最常用的一种SOCKS代理。

如何使用HTTP代理服务器

HTTP代理服务器的设置方法,对于IE和Firefox设置略有不同。设置前需要先找一些可用的免费代理服务器地址。  
  IE的设置是这样的,打开IE浏览器,选择菜单栏的“工具/Internet选项…”。  
  这时候分两种情况,对于ADSL拨号用户来说,选择一个网络连接后,点“设置”,如下图所示,选中代理服务器,填入地址和端口号。

对于局域网用户来说,需要点“局域网设置”,如下图所示,选中代理服务器,填入地址和端口号。

Python中如何使用代理服务器访问网页

练习Python爬虫时,当使用一台主机多次访问某个服务器时,服务器可能会认为主机属于恶意攻击,很可能会封了主机ip。此时的解决办法可以用代理服务器。
主机可以发送不同的请求给不同的代理服务器,代理服务器再去向目标服务器请求。这样就可以解决ip限制的问题。

使用代理访问网页有四个步骤
1.设置代理地址
proxy = {"http":"80.211.168.221:8080"}
2.创建ProxyHandler
proxy_handler = request.ProxyHandler(proxy)
3.创建Opener
opener = request.build_opener(proxy_handler)
4.安装Opener
request.install_opener(opener)
之后就是urlopen访问网页

from urllib import request
# 也可以from urllib.request as request
def use_porxy(url,porxy_addr): porxy = request.ProxyHandler({'http':porxy_addr})opener = request.build_opener(porxy)request.install_opener(opener)   try:response = request.urlopen(url, timeout=5)except Exception as e:print('交接错误,退出程序')exit()data = response.read().decode('utf-8')    return datadata = use_porxy("http://www.baidu.com", "114.115.182.59:128")
print(len(data)

参考/转载:
https://blog.csdn.net/zhaipupu/article/details/100320140?utm_medium=distribute.wap_relevant.none-task-blog-2defaultbaidujs_title~default-0.wap_blog_relevant_pic&spm=1001.2101.3001.4242.1

https://www.williamlong.info/archives/2057.html

Python之使用代理服务器访问网页相关推荐

  1. python手机远程控制电脑访问网页_Python 实战系列-微信或网页远程控制电脑

    Python 实战系列-微信或网页远程控制电脑 本系列课程为Python实战系列课程:使用微信控制电脑,使用Python的Web框架Flask搭建网页, 并使用网页控制电脑:使用wxPython编写图 ...

  2. 使用python标准库urllib2访问网页

    #访问不需要登录的网页 import urllib2 target_page_url='http://10.224.110.118/myweb/view.jsp' f = urllib2.urlope ...

  3. 网络爬虫初步:从访问网页到数据解析

    前言: 网络爬虫这个东西看上去还是很神奇的.不过,如果你细想,或是有所研究就知道,其实爬虫并不那么高深.高深的是在我们的数据量很大的时候,就是当我们网络"图"的回环越来越多的时候, ...

  4. Python通过urllib访问网页

    通过urllib.request.urlopen()函数就可以访问网页了 >>> import urllib.request >>> response =urlli ...

  5. 【避坑 超详细】Ubuntu使用python的selenium以及chrome模拟真实浏览器访问网页

    在Ubuntu系统上使用python的selenium,另外加上chrome和chromedriver,用于模拟浏览器访问网页. 下面教程在阿里云的Ubuntu 14.04 64位测试成功,其他lin ...

  6. Python爬虫入门6:模拟浏览器访问网页的http报文体压缩传输

    ☞ ░ 前往老猿Python博客 https://blog.csdn.net/LaoYuanPython ░ 一.引言 在前面章节中介绍了使用urllib包的request模块访问网页的方法.但上节特 ...

  7. python—简单数据抓取七(采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用,利用ip池访问网页并将scrapy爬取转移到items的数据存入到数据库)

    学习目标: Python学习二十七-简单数据抓取七 学习内容: 1.采取蘑菇API代理设置scrapy的代理IP池并利用redis形成队列依次使用 2.利用ip池访问网页并将scrapy爬取转移到it ...

  8. python挣脱内网限制,通过代理服务器访问外网

    其实和普通的python访问外网类似,不过是首先设置代理服务器,然后通过代理服务器访问远程服务器 #coding:gbk import urllib,urllib2 #方法一: def load_ur ...

  9. Python自定义时间间隔访问网页

    方法一:利用webbrowser import time import webbrowserwhile True: # 死循环time.sleep(60 * 1) # 程序等待时间,这里等待1min, ...

  10. python 模拟微信浏览器请求_2020-03-06 python selenium 模拟访问网页检查更新并微信通知...

    老同学说有个不错的网站,华尔街日报每天更新,但是百度网盘每24小时后就会删除,偶尔忘记去下载就再也找不到了. 简单介绍一下最后成果,在Mac下开发,Ubuntu服务器部署定时检查发送微信到指定用户.在 ...

最新文章

  1. html怎么制作固定背景,使用CSS制作的页面背景固定和滚动效果
  2. 父域与子域之的信任关系
  3. Python命令行运行文件的实例方法
  4. 机票预定系统类图_电商系统延时任务机制源码分享
  5. ORACLE DBA学习笔记--表空间的管理(tablespace)
  6. vue 使用 el-image图片无法显示
  7. 高帮足球鞋_高帮运动鞋和晕车症可以教给我们有关VR设计的知识
  8. ASN.1编解码:ORAN-E2AP分析
  9. Python中文编程
  10. yshon对讲机如何调频率_对讲机频率怎么调?四步教你给对讲机调频
  11. 大学四年一路自学走来,我把这些私藏的实用工具/学习网站我贡献出来了
  12. python常用写法
  13. 计算机校准颜色,直观:如何在Win7计算机中校准显示器|计算机显示器颜色校准...
  14. MXNet-图像分类(symbol版本)【附源码】
  15. Javaweb新闻管理系统02
  16. 安卓调用系统相机拍照并返回,实现图片预览
  17. SQL Server-------安全机制1
  18. LINUX下的用户访问授权,文件权限
  19. java+swagger+侵入_Spring boot+Swagger配置无侵入式Restful接口(一)
  20. c语言分支编程改错题,二级C语言改错 二级C语言编程题 汇总整理篇.doc

热门文章

  1. ip rule 命令
  2. 小程序逆向——某书小程序反编译(一)
  3. Spring Cloud Gateway 没有链路信息,我 TM 人傻了(下)
  4. Happiness is a Choise
  5. python文件起名字的时候不要用模块的名字,不然会默认导入本地的文件,找不到你要的模块方法,会报错AttributeError: module ‘random‘ has no attribute ‘
  6. 没用东西全部清掉_如何把电脑上无用的东西清理掉,在哪下载
  7. 【历史上的今天】6 月 3 日:微软推出必应搜索引擎;Larry Roberts 启动阿帕网;Visual Basic 之父出生
  8. 谁能和乔布斯比勤奋?乔布斯的睡眠时间
  9. 商汤科技面试——CV算法面经
  10. Unity 调用 JAR