zoukankan      html  css  js  c++  java
  • requests请求中代理ip中的proxies

    proxies的格式是一个字典:{‘http’: ‘http://42.84.226.65:8888‘}

    有http与https两种,在爬取不同网站时我们需要选用不同类型的网站时选用不同的proxise,在不知道网站类型时可以将两种类型均放进去,requests会自动选择合适的

    proxies = {
      "http": "http://10.10.1.10:3128",
      "https": "http://10.10.1.10:1080"
    }

    如果你是这样的

    proxies = {
      "https": "http://10.10.1.10:1080"
    }

    而你要爬的是http型网站
    你的requests也可以成功,但是使用的还是你真实的ip地址

    只有当你的proxies类型与你想访问的网站类型相同,代理ip才会起作用
    可以用以下代码检验你的代理ip是否成功启用

    import requests
    
    proxies = {
        "https": "http://10.10.1.10:1080"
    }
    req = requests.get('http://icanhazip.com/', proxies=proxies)
    print(req.content)

    访问 http://icanhazip.com/(https://icanhazip.com/) 可以得到你访问时的ip地址

    判断代理是否有效的方法

    import telnetlib
    
    try:
        telnetlib.Telnet('10.10.1.10', port='1080', timeout=3)
    except:
        print('ip无效!')
    elseprint('ip有效!')

    来自:https://blog.csdn.net/qq_38251616/article/details/81675871?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task



  • 相关阅读:
    Java设计模式—单例模式
    Java集合框架
    Java进程和线程
    Java IO
    Java异常类
    Java面向对象—抽象类和接口
    Java面向对象—多态
    Java面向对象—继承
    Java面向对象
    Java基础语法
  • 原文地址:https://www.cnblogs.com/yoyowin/p/12483732.html
Copyright © 2011-2022 走看看