http代理

在VPS搭建自己的http代理服务器

孤街醉人 提交于 2021-02-11 20:43:29
如果你用nginx,那最简单的方法是: server { listen 8580; resolver 8.8.8.8; location /{ proxy_pass http://$http_host$request_uri; #allow 127.0.0.1; #deny all; } } 缺点是不支持https,上个google倒是没问题。 如果想支持https可以使用apache的trafficserver。TS是一个高性能的、模块化的 HTTP 代理和缓存服务器,blabla反正很强大。我们在这只用它的正向代理功能。 可以yum安装,也可以在官网下了源码编译安装(安装中出现问题可以参考 这里 )。 安装之后简单配置,参考 这里 其实就是配置records.config CONFIG proxy.config.url_remap.remap_required INT 0 CONFIG proxy.config.http.cache.http INT 1 如果不使用反向代理: CONFIG proxy.config.reverse_proxy.enabled INT 0 可以修改端口: CONFIG proxy.config.http.server_ports STRING 8080 启动即可: nohup bin/traffic_server & 当然架代理的方式还有很多

Linux 端口详解

柔情痞子 提交于 2020-04-07 03:54:35
以下内容摘自网络,来源不清了,做个备份吧: 0|无效端口,通常用于分析操作系统 1|传输控制协议端口服务多路开关选择器 2|管理实用程序 3|压缩进程 5|远程作业登录 7|回显 9|丢弃 11|在线用户 13|时间 17|每日引用 18|消息发送协议 19|字符发生器 20|FTP文件传输协议(默认数据口)  21|FTP文件传输协议(控制) 22|SSH远程登录协议 23|telnet(终端仿真协议),木马Tiny Telnet Server开放此端口 24|预留给个人用邮件系统 25|SMTP服务器所开放的端口,用于发送邮件 27|NSW 用户系统 FE 29|MSG ICP 31|MSG验证,木马Master Paradise、HackersParadise开放此端口 33|显示支持协议 35|预留给个人打印机服务 37|时间 38|路由访问协议 39|资源定位协议 41|图形 42|主机名服务 43|who is服务 44|MPM(消息处理模块)标志协议 45|消息处理模块  46|消息处理模块(默认发送口) 47|NI FTP 48|数码音频后台服务  49|TACACS登录主机协议 50|远程邮件检查协议 51|IMP(接口信息处理机)逻辑地址维护 52|施乐网络服务系统时间协议 53|dns域名服务器 54|施乐网络服务系统票据交换 55|ISI图形语言 56

HTML5 performance API 草案.

北慕城南 提交于 2020-04-06 07:10:00
支持浏览器 : IE9+,Chrome11+,Firefox7+. 宿主对象window.performance. 参考资料: http://msdn.microsoft.com/zh-cn/office/ff975118 参考w3c的标准草案: http://w3c-test.org/webperf/specs/NavigationTiming/ 目前,IE9+和 chrome11+,Firefox7+已经实现了该草案定义的接口. 成员 : .navigation (一个叫做performanceNavigation的对象.) .timing (这玩意是一个被称作performanceTiming的包含了很多成员的对象) 方法 : .toJSON 返回一个 对象,并抄写performance的可枚举成员到其中. 是的,timing,navigation都在上面. JSON.stringify(performance.toJSON()) == JSON.stringify(performance)//true. 悲剧啊.明明是继承来的,msdn非要特殊标一下.. PS: 1. performance,仅能对当前的html文档做检测,所有的对象都和当前文档有关. 如果我们想检测某个图片资源的网络状况,则不行. 比如我们想监控,用户访问我们服务的状况,就只能创建一个iframe,

一次 Web 请求到底发生了什么

蓝咒 提交于 2020-03-30 13:42:09
一次 Web 请求到底发生了什么 一、从输入一个网址开始 当我们在浏览器输入一个网址,然后按下回车,接下来浏览器显示了页面。网速好的话这之间可能就一秒,但在这一秒内到底发生了什么? 本文主要内容是试图记录一个完整 Web 请求的详细过程,从用户在浏览器中输入 URL 地址说起,然后浏览器如何找到服务器地址的过程,并发起请求;分析请求在达反向代理服务器内部处理过程;最后到请求在服务器端处理完成后,浏览器渲染响应页面过程。 大致过程如下: Web请求的工作原理可以简单地归纳为: 浏览器通过 DNS 把域名解析成对应的IP地址; 根据这个 IP 地址在互联网上找到对应的服务器,建立 Socket 连接; 客户端向服务器发送HTTP协议请求包,请求服务器里的资源文档; 在服务器端,实际上还有复杂的业务逻辑:服务器可能有多台,到底指定哪台服务器处理请求,这需要一个负载均衡设备来平均分配所有用户的请求; 还有请求的数据是存储在分布式缓存里还是一个静态文件中,或是在数据库里; 当数据返回浏览器时,浏览器解析数据发现还有一些静态资源(如:css,js或者图片)时又会发起另外的请求,而这些请求可能会在CDN上,那么CDN服务器又会处理这个用户的请求。 客户端与服务器断开。由客户端解释HTML文档,在客户端屏幕上渲染图形结果。 一个 HTTP 事务就是这样实现的,看起来很简单,原理其实是挺负责的

如何在Curl中使用Socks5代理

心已入冬 提交于 2020-03-26 15:59:30
Curl在许多HTTP客户机和下载工具中拥有最好的代理支持。这就是如何使用socks5代理并使用socks5代理解析URL中的主机名。对于某些用例,通过代理解析主机名是必要的。 假设您有一个socks5代理运行在 localhost:8001 上。 crul 版本 >= 7.21.7 时使用命令: curl -x socks5h://localhost:8001 http://www.google.com/ crul 版本 >= 7.18.0 时使用命令: curl --socks5-hostname localhost:8001 http://www.google.com/ 许多工具在内部使用libcurl,或者在安装程序脚本中使用curl命令。如果很难修改命令行本身,可以使用环境变量设置代理。 env ALL_PROXY=socks5h://localhost:8001 PROGRAM [OPTION]... 如果你想覆盖系统代理设置,你可能还需要设置两个额外的变量: env http_proxy=socks5h://localhost:8001 HTTPS_PROXY=socks5h://localhost:8001 ALL_PROXY=socks5h://localhost:8001 PROGRAM [OPTION]... 注意 : http_proxy 是 小 写的

HTTP 3 代理、网关、隧道

本秂侑毒 提交于 2020-03-25 17:28:56
5. 与HTTP协作的Web服务器 一台Web服务器可搭建多个·独立域名的Web网站,也可作为通信路径上的中转服务器提升传输效率。 用单台虚拟主机实现多个域名: HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。比如,提供Web托管服务(Web Hosting Service)的供应商,可以用一台服务器为多位客户服务,也可以以每位客户持有的域名运行各自不同的网站。这是因为虚拟主机(virtual host)的功能。 即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器。 客户端使用HTTP协议访问服务器时,会经常采用类似www.hackr.jp这样的主机名和域名。 在互联网上,域名通过DNS服务映射到IP地址(域名解析)之后访问目标网站,当请求发送到服务器时,已经是以IP地址形式访问了。 所以,如果一台服务器内托管了多个域名时,当收到请求时就需要搞清楚究竟要访问哪个域名。 在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的Web网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。 通信数据转发程序:代理、网关、隧道: 代理: 代理是一种有转发功能的应用程序,作用于服务器和客户端“中间人”的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。 网关:

cookie和代理操作

吃可爱长大的小学妹 提交于 2020-03-25 15:36:00
一, 基于requests模块的cookie操作 引言:有些时候,我们在使用爬虫程序去爬取一些用户相关信息的数据(爬取张三“人人网”个人主页数据)时,如果使用之前requests模块常规操作时,往往达不到我们想要的目的,例如: #!/usr/bin/env python # -*- coding:utf-8 -*- import requests if __name__ == "__main__": #张三人人网个人信息页面的url url = 'http://www.renren.com/289676607/profile' #伪装UA headers={ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/69.0.3497.100 Safari/537.36', } #发送请求,获取响应对象 response = requests.get(url=url,headers=headers) #将响应内容写入文件 with open('./renren.html','w',encoding='utf-8') as fp: fp.write(response.text) - 结果发现,写入到文件中的数据

python爬虫-代理池的维护

*爱你&永不变心* 提交于 2020-03-24 11:06:29
简介 我们可以从网上或者付费获取大量代理,但是这其中很多依然不可用,那么搭建高效的代理池,对代理ip进行筛选是十分必要的 准备工作 : 安装Redis数据库,还需要安装aiohttp、requests、redis-py、pyquery、Flask库,安装流程请百度自行查询 由于文件内容较多,所以就不一一讲解了,直接创建一个Python Package模块包,下次直接调用 创建一个Python Package包,取名为proxypool 一.创建一个setting.py文件,用于存放配置信息。代码如下: # Redis数据库地址 REDIS_HOST = '127.0.0.1' # Redis端口 REDIS_PORT = 6379 # Redis密码,如无填None REDIS_PASSWORD = None REDIS_KEY = 'proxies' # 代理分数 MAX_SCORE = 100 MIN_SCORE = 0 INITIAL_SCORE = 10 VALID_STATUS_CODES = [200, 302] # 代理池数量界限 POOL_UPPER_THRESHOLD = 50000 # 检查周期 TESTER_CYCLE = 20 # 获取周期 GETTER_CYCLE = 300 # 测试API,建议抓哪个网站测哪个 TEST_URL = 'http:/

配置个人Ip代理池

时光毁灭记忆、已成空白 提交于 2020-03-24 09:50:19
做爬虫最害怕的两件事一个是被封账户一个是被封IP地址,IP地址可以使用代理来解决,网上有许多做IP代理的服务,他们提供大量的IP地址,不过这些地址不一定都是全部可用,因为这些IP地址可能被其他人做爬虫使用,所以随时可能被一些网站封禁,所以对于一些不可用的IP地址,使用之后就会影响程序运行效率,使用在获得IP地址之后,对这些地址做筛选,去除一些不可用的地址,再进行爬虫,效率就大大提升。通过爬取网上一些高匿IP来自建代理池。 1.准备工作 搭建代理池需要一些库的支持,包括安装Redis数据库,安装requests,apihttp,redis-py,pyquery,Flask,这些工具自行安装 2.搭建代理池,需要干什么 可以通过先下面的图了解一些(这个图网上找的。。。。。),图中可以分为4个部分:获取模块(爬虫调度器,代理获取爬虫),存储模块(Redis数据库),检测模块(代理验证爬虫),接口模块(web api) 3.代理池的实现 存储模块: 使用Redis的有序集合,为什么要使用有序集合,优点:有序集合能够保证数据不重复,有序集合自带分数字段,分数可以重复,能够帮助把每一个元素进行排序,数值小的在前面,数值大的在后面,对于后面的接口模块非常有用,可以通过分数值来判断代理是否可用,100代表最可用,0代表不可用,从接口获取的肯定分数是100的IP地址,保证每一个都可用,提高效率

跨域详解

♀尐吖头ヾ 提交于 2020-03-23 16:17:53
https://segmentfault.com/a/1190000011145364 什么是跨域? 跨域是指一个域下的文档或脚本试图去请求另一个域下的资源,这里跨域是广义的。 广义的跨域: 1.) 资源跳转: A链接、重定向、表单提交 2.) 资源嵌入: <link>、<script>、<img>、<frame>等dom标签,还有样式中background:url()、@font-face()等文件外链 3.) 脚本请求: js发起的ajax请求、dom和js对象的跨域操作等 其实我们通常所说的跨域是狭义的,是由浏览器同源策略限制的一类请求场景。 什么是同源策略? 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到XSS、CSFR等攻击。所谓同源是指"协议+域名+端口"三者相同,即便两个不同的域名指向同一个ip地址,也非同源。 同源策略限制以下几种行为: 1.) Cookie、LocalStorage 和 IndexDB 无法读取 2.) DOM 和 Js对象无法获得 3.) AJAX 请求不能发送 常见跨域场景 URL 说明 是否允许通信 http://www.domain.com/a.js http://www.domain.com/b.js