切图崽的自我教养-[HTTP] Http Proxy浅析

媒介

它是一个中介

Web代办(proxy)服务器是收集的中心实体。 代办位于Web客户端和Web服务器之间,饰演“中心人”的角色。HTTP的代办服务器等于Web服务器又是Web客户端

Proxy代办软件

mac经常使用的proxy软件有Charles

proxy软件只能映照你浏览器的要求的host

P.s : 假如要修改你本机上一切http协定要求的host,请变动本机的Host文件,mac的本机host文件位置在/private/etc/

怎样代办

你的pc地点x.x.x.x, 项目的地点跑在本机是 x.x.x.x:80/demo.html, 假如在当地开启了代办服务器, 那末代办服务器地点就是x.x.x.x:8888(假如你用Charles). 你的电脑上浏览器的一切http要求,都邑先被转发到代办服务器x.x.x.x:8888,再由代办服务器x.x.x.x:8888转发到目的地点.

你开启proxy代办后,用浏览器接见www.baidu.com, 要求会被先转发到x.x.x.x:8888, 然后 x.x.x.x:8888会将这个要求转发到www.baidu.com,

映照域名

在开辟历程当中,我们经常须要把当地网站demo的域名改成某个线上的地点来满足某些开辟须要(比方活动项目开辟的时刻,假如要挪用微信的jssdk,网站必需是9game.cn的域名),比方在pc端,你想用goldpage.9game.cn:80/demo 这个域名来接见当地的项目localhost:5000/demo,这时刻,就须要做一个域名映照,即在当地开启代办服务器,在代办服务器中举行设置goldpage.9game.cn:80 映照成 localhost:5000, 如许,你在浏览器中输入goldpage.9game.cn:80后,要求会先被转发到代办服务器x.x.x.x:8888,然后代办服务器会将这个要求转发到你本机的localhost:5000上

要求调试

挪动端没有控制台,要求发出与否,哪些处所失足没有处所举行显现和调试.
如今场景以下:
你有一台手机(ip:y.y.y.y) 一台pc(ip:x.x.x.x) ,你在pc上开辟完了一个页面y.y.y.y:80/demo.html,点击上面的按钮, 能向背景z.z.z.z:5000/restful这个地点发送一个ajax post要求. 如今你用手机调试这个页面,你点击了按钮,POST要求完整没反应,不知道是事宜兼容性的题目照样收集的题目致使这个ajax要求没有发出去,这时刻你须要做代办调试.

  1. 起首,在你pc x.x.x.x上开一个proxy代办,监听端口8888

  2. 然后,将你的手机的http代办设置为x.x.x.x:8888

  3. 如许,你手机发出的一切http要求,会被转发到你pc的代办服务器x.x.x.x:8888上来

  4. 经由如许的设置,要求就会从手机->pc(代办)->服务器,不仅不会对页面交互有任何影响,而且你能够经由历程检察代办服务器的日记来看一切经由代办服务器的ajax要求了! 用这类体式格局来抓包,结果一级棒

    (在这个例子中,你接见x.x.x.x:80/demo.html,而且点击按钮向z.z.z.z:5000/restful 发送要求,这个历程实际上是发送了两个要求,一个向x.x.x.x:80要求demo.html的GET要求,一个向z.z.z.z:5000的restFul接口发送POST要求. 假如代办服务器不做任何设置,默许就是按原地点举行转发. 即 x.x.x.x:80转发到x.x.x.x:80, z.z.z.z.:5000转发到z.z.z.z:5000 (固然你也能够将x.x.x.x:80转发到baidu.com这是能够的,但如许你要求的就是baidu.com/demo.html了))

结语

Http Proxy另有其他许多有意思的技能能够深切发掘,有空再继承补充

    原文作者:大切图崽
    原文地址: https://segmentfault.com/a/1190000007063601
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞