美文网首页
Python - Requests 指定 ip 发请求(多 ip

Python - Requests 指定 ip 发请求(多 ip

作者: 伤心的小码码 | 来源:发表于2022-12-22 23:12 被阅读0次

    对于多 IP 的服务器来说,默认情况下 request 的请求只会默认一个 ip 发出请求,所以在请求时候,可以指定

    依赖

    pip install requests
    pip install requests_toolbelt
    

    主逻辑

    # 获取到服务器多 ip 的信息
    def load_all_local_ip():
      import psutil
      ips = []
    
      for nic in psutil.net_if_addrs():
        if nic == 'em1': #TODO 这里指定网卡名称,需要针对服务器网卡名称来选择
        ip_type = socket.AF_INET
        
        for a in psutil.net_if_addrs()[nic]:
          if a.family == ip_type:
            ips.append(a.address)
      
      return ips
    
    def main():
      # 执行
      s = requests.Session()
      new_source = source.SourceAddressAdapter(load_all_local_ip()[0])
      s.mount('http://', new_source)
      s.mount('https://', new_source)
      print s.get('http://xxx.xxx.xxx.xxx:8091/')
    
    if __name__ == '__main__':
      main()
    

    参考链接

    相关文章

      网友评论

          本文标题:Python - Requests 指定 ip 发请求(多 ip

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