美文网首页接口文档及接口测试学习
『居善地』接口测试 — 10.补充:Requests库中prox

『居善地』接口测试 — 10.补充:Requests库中prox

作者: 繁华似锦Fighting | 来源:发表于2021-01-05 15:33 被阅读0次

1、代理的了解


在上图中我们可以把Web server看成是Google服务器,正常情况下在国内是无法访问Google服务器的,这个时候就需要使用VPN软件,帮助我们发送请求来访问Google服务器。然后再通过VPN软件把Google服务器响应的结果返回给我们的浏览器,这个VPN软件就相当一个代理的作用,帮助我们发送请求,帮助我们接收响应。

2、代理的分类

正常情况下,我们使用浏览器来访问百度服务器,可以正常的直接的进行访问。

(1)正向代理

正向代理类似一个跳板机,代理访问外部资源。

比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理取到谷歌服务器返回的数据,再返回给我们,这样我们就能访问谷歌了。

(2)反向代理

反向代理(Reverse Proxy)实际运行方式是指,以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果,返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。


(3)总结

  • 正向代理即是客户端代理, 代理客户端, 服务端不知道实际发起请求的客户端。

  • 反向代理即是服务端代理, 代理服务端, 客户端不知道实际提供服务的服务端。

正向代理: 找黄牛买票。

反向代理: 租房的中介 。

参考:https://www.cnblogs.com/taostaryu/p/10547132.html

3、Requests库使用代理

只需要添加proxies参数即可,接收字典格式的参数。

示例:

# 1.导入requests库
import requests

# 明确要访问的url地址
url = "https://ip.tool.chinaz.com/"

# 明确请求头信息
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.139 Safari/537.36",
}

# 设置代理服务器地址
# 如果发送的是http请求,就使用http请求的代理,如果发送的是https请求,就使用一个https请求的代理。
proxies = {"https": "https://58.220.95.86:9401", "http": "http://113.214.13.1:1080"}

# 发送请求
response = requests.get(url=url, headers=headers, proxies=proxies)
# 查看响应结果的状态码
print(response.status_code)
# 获得响应结果的源码
print(response.text)

说明一下:

访问url = "https://ip.tool.chinaz.com/"这个地址的并不是我们自己的IP地址,而是proxies属性中定义的IP地址。实际上我们把请求发送给代理服务器,代理服务器帮我们访问了上面的网址。

验证一下:

  • https://ip.tool.chinaz.com/是一个检查IP地址的网站。

  • 通过执行上面的示例,看看response.text返回的请求源码中的IP地址信息。

    在返回的源码中,是可以定位到如下信息的,证明我们上面使用的代理成功了。

    <div class="WhwtdWrap bor-b1s col-gray03" style="height:auto">
      <span class="Whwtdhalf w15-0 lh45">58.220.95.86</span>
        <span class="Whwtdhalf w15-0 lh45" style="cursor:pointer;" onclick="AiWenIpData('58.220.95.86')">58.220.95.86</span>
        <span class="Whwtdhalf w15-0 lh45">987520854</span>
        <span class="Whwtdhalf w30-0 lh24 tl ml80">
              <p>江苏省扬州市 电信</p>
          </span>
    </div>
    
  • 寻找代理服务器请参考:https://proxy.mimvp.com/freeopen

4、总结

为什么需要使用代理?

  • 让服务器以为不是同一个客户端在请求。
  • 防止我们的真实地址被泄露。

这里我们就知道Requests库中proxies代理如何使用,了解其原理就可以了。

相关文章

网友评论

    本文标题:『居善地』接口测试 — 10.补充:Requests库中prox

    本文链接:https://www.haomeiwen.com/subject/uttboktx.html