web代理

与HTTP协作的Web服务器

佐手、 提交于 2019-11-27 15:42:42
用单台虚拟主机实现多个域名 HTTP/1.1规范允许一台HTTP服务器搭建多个Web站点。这是因为利用了虚拟主机(Virtual Host,又称虚拟服务器)的功能 即使物理层面只有一台服务器,但只要使用虚拟主机的功能,则可以假想已具有多台服务器。 当一台服务器内托管了多个域名,当收到请求时就需要弄清楚究竟要访问哪个域名。 在相同的IP地址下,由于虚拟主机可以寄存多个不同主机名和域名的网站,因此在发送HTTP请求时,必须在Host首部内完整指定主机名或域名的URI。 通信数据转发程序:代理、网关、隧道 HTTP通信时,除客户端和服务器以外,还有一些用于通信数据转发的应用程序,例如代理、网关和隧道。它们可以配合服务器工作。 代理: 代理是一种有转发功能的应用程序,它扮演了位于服务器和客户端”中间人“的角色,接收由客户端发送的请求并转发给服务器,同时也接收服务器返回的响应并转发给客户端。 网关: 网关是转发其他服务器通信数据的服务器,接收从客户端发送过来的请求时,它就像自己拥有资源的源服务器一样对请求进行处理。 隧道: 隧道是在相隔甚远的客户端和服务器两者之间进行中转,并保持双方通信连接的应用程序。 代理: 代理服务器的基本行为就是接受客户端发送的请求后转发给其他服务器。代理不改变请求URI,会直接发送给前方持有资源的目标服务器。 在HTTP通信过程中,可级联多台代理服务器

WebServiceProxy---反射调用方法

时间秒杀一切 提交于 2019-11-27 10:12:49
/// <summary> /// WebServiceProxy 的摘要说明 /// </summary> [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [ToolboxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 // [System.Web.Script.Services.ScriptService] public class WebServiceCaller : System.Web.Services.WebService { #region 私有变量和属性定义 /// <summary> /// web服务地址 /// </summary> private string _wsdlUrl = string.Empty; /// <summary> /// web服务名称 /// </summary> private string _wsdlName = string.Empty; /// <summary> /// 代理类命名空间 /// </summary> private string _wsdlNamespace =

web爬虫讲解—urllib库爬虫—ip代理—用户代理和ip代理结合应用

有些话、适合烂在心里 提交于 2019-11-27 03:44:53
使用IP代理 ProxyHandler()格式化IP,第一个参数,请求目标可能是http或者https,对应设置 build_opener()初始化IP install_opener()将代理IP设置成全局,当使用urlopen()请求时自动使用代理IP #!/usr/bin/env python # -*- coding: utf-8 -*- import urllib import urllib.request import random #引入随机模块文件 ip = "180.115.8.212:39109" proxy = urllib.request.ProxyHandler({"https":ip}) #格式化IP,注意:第一个参数可能是http或者https,对应设置 opener = urllib.request.build_opener(proxy,urllib.request.HTTPHandler) #初始化IP urllib.request.install_opener(opener) #将代理IP设置成全局,当使用urlopen()请求时自动使用代理IP #请求 url = "https://www.baidu.com/" data = urllib.request.urlopen(url).read().decode("utf-8") print

Squid缓存代理服务器

懵懂的女人 提交于 2019-11-25 22:25:54
一、关于缓存代理 1、代理的工作机制 作为应用层的代理服务软件,Squid主要提供缓存加速和应用层过滤控制的功能。当客户机通过代理来请求Web页面时,指定的代理服务器会先检查自己的缓存,如果缓存中已经有客户机需要访问的页面,则直接将缓存中的页面内容反馈给客户机;如果缓存中没有客户机需要访问的页面,则由代理服务器向Internet发送访问请求,当获得返回的Web页面以后,将网页数据保存到缓存中并发送给客户机。 HTTP代理的缓存加速对象主要是文字、图像等静态Web元素。使用缓存机制后,当客户机在不同的时候访问同一Web元素,或者不同的客户机访问相同的Web元素时,可以直接从代理服务器的缓存中获得结果。这样就大大减少了向Internet重复提交Web请求的过程,提高了客户机的Web访问响应速度。 由于客户机的Web访问请求实际上是由代理服务器来代替完成的,从而可以隐藏用户的真实IP地址,起到一定的保护作用。另一方面,代理服务器担任着类似“经纪人”的角色,所以有机会针对要访问的目标、客户机的地址、访问的时间端进行过滤控制。 2、代理的基本类型 根据实现的方式不同,代理服务可分为传统代理和透明代理两个常见的代理服务。 1)传统代理 也就是普通的代理服务,首先必须在客户机的浏览器、QQ聊天工具、下载软件等程序中手动设置代理服务器的地址和端口,然后才能使用代理服务来访问网络。对于网页浏览器