0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python代码中如何使用HTTP代理

华益云HTTP爬虫IP 来源:华益云HTTP爬虫IP 作者:华益云HTTP爬虫IP 2022-09-13 09:24 次阅读

一、什么是HTTP代理。

HTTP代理就是介于浏览器和web服务器之间的一台服务器,连接代理后,浏览器不再直接向web服务器取回网页,而是向代理服务器发出request信号,代理服务器再想web服务器发出请求,收到web服务器返回的数据后再反馈给浏览器。

二、华益云HTTP代理IP基本参数介绍

1:基本参数介绍:支持http,https,socks5等多种协议类型。100%高匿IP,支持API提取,API最快提取间隔1秒,一次最多可以提取200个。

2:支持的语言:pythonjava,c,c#,go,php,易语言等多种编程语言。

3:使用范围:软件程序API调用,爬虫,网页访问,浏览等支持HTTP协议批量调用的应用。

python代码中如何使用HTTP代理。

# 此版本无需安装依赖
import urllib
import urllib.request
import urllib

def main():
    # 发送给服务器的标识
    userAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/532.36 (KHTML, like Gecko) Chrome/97.0.4692.99 Safari/537.36"
    # 代理api(这里我推荐使用www.9vps.com华益云的HTTP代理API,注册就白嫖1万IP)
    proxyUrl = "http://http.9vps.com/getip.asp?username=166xxxx6597&pwd=xxxxbaa59ce237dff65134984b9cxxxx&geshi=1&fenge=1&fengefu=&Contenttype=1&getnum=20&setcity=&operate=all&";
    # 请求代理url,获取代理ip 
    outPutProxy = getProxy(proxyUrl, userAgent)
    if len(outPutProxy)==0:
        # 没有获取到代理
        return
    # 目标请求网站
    # https://httpbin.org/get
    url = "https://www.qq.com/"
    content = None
 
    for _ in range(0, 3):
        # 最多尝试三次
        try:
            # 从列表中取出一个代理出来
            proxy = outPutProxy.pop(0)
            px = {
                "http": proxy,
                "https": proxy
            }
            content = requestGet(url, userAgent, px)
            break
        except Exception as e:
            print(e)
            if (len(outPutProxy) == 0):
                # 如果发现没有代理了,就去获取下。
                outPutProxy = getProxy(proxyUrl, userAgent)
     
    print(content)
def getProxy(proxyUrl, userAgent):
    proxyIps=""
    outPutProxy = []
    try:
        proxyIps = requestGet(proxyUrl, userAgent, None)
        print("(proxyIps)", proxyIps)
        # {"code":3002,"data":[],"msg":"error!用户名或密码错误","success":false}
        if "{" in proxyIps:
            raise Exception("[错误]"+proxyIps)
        outPutProxy = proxyIps.splitlines()
        
    except Exception as e:
        print(e)
    print("总共获取了"+str(len(outPutProxy))+"个代理")
    return outPutProxy

def requestGet(url, userAgent, proxy):
    headers = {
        "User-Agent": userAgent
    }
    # httpproxy_handler = urllib.ProxyHandler({"http" : " 180.104.192.217:22036"}) 
    response = None
    if (proxy):
        proxyHandler = urllib.request.ProxyHandler(proxy)
        opener = urllib.request.build_opener(proxyHandler, urllib.request.HTTPHandler)
        urllib.request.install_opener(opener)
        request = urllib.request.Request(url, headers=headers)
        response = urllib.request.urlopen(request, timeout=5)
    else:
        # 没有代理走这个
        request = urllib.request.Request(url, headers=headers)
        response = urllib.request.urlopen(request, timeout=5)
        #response = opener.open(request)
    
    
    html = response.read()
    # # 设置编码,防止乱码
    # 手动设置网页字符编码方式
    return html.decode("utf-8", "ignore")

main()
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • HTTP
    +关注

    关注

    0

    文章

    504

    浏览量

    31198
  • 浏览器
    +关注

    关注

    1

    文章

    1023

    浏览量

    35331
  • python
    +关注

    关注

    56

    文章

    4793

    浏览量

    84631
收藏 人收藏

    评论

    相关推荐

    Pythondict支持多个key的方法

    ​ 在Python,字典(dict)是一种非常强大的数据结构,它允许我们通过键(key)来存储和检索值(value)。有时候,我们可能想要根据多个键来检索或操作字典的数据。虽然Python
    的头像 发表于 11-29 15:59 149次阅读

    Python环境下的代理服务器搭建与自动化管理

    Python环境下搭建与自动化管理代理服务器是一项涉及网络编程和自动化技术的综合任务。
    的头像 发表于 11-14 07:31 158次阅读

    Python编程:处理网络请求的代理技术

    在网络编程代理技术扮演着至关重要的角色,尤其在处理网络请求时。通过代理服务器,我们可以实现请求的转发、缓存、负载均衡以及安全控制等功能。Python作为一种功能强大的编程语言,为提
    的头像 发表于 11-12 07:23 185次阅读

    Python代理服务器的配置与应用

    一种强大的编程语言,提供了丰富的库和模块,使得实现和配置代理服务器变得相对简单。以下将详细介绍在Python如何配置与应用代理服务器。
    的头像 发表于 11-12 07:13 168次阅读

    Python代理技术详解:从入门到进阶

    Python代理技术是一种在网络编程中广泛使用的技术,它允许通过代理服务器发送和接收网络请求。
    的头像 发表于 11-12 07:06 234次阅读

    Python库解析:通过库实现代理请求与数据抓取

    Python,有多个库可以帮助你实现代理请求和数据抓取。这些库提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进
    的头像 发表于 10-24 07:54 165次阅读

    使用Python构建高效的HTTP代理服务器

    构建一个高效的HTTP代理服务器在Python涉及多个方面,包括性能优化、并发处理、协议支持(HTTP/HTTPS)、错误处理以及日志记录
    的头像 发表于 10-23 07:41 156次阅读

    使用Python搭建简易本地http服务器,升级WIPI模组

    01 下载python https://www.python.org/downloads/ 02 安装python 安装时候选择把path加入电脑环境变量 3 由于python内建了简
    的头像 发表于 09-29 15:38 454次阅读
    使用<b class='flag-5'>Python</b>搭建简易本地<b class='flag-5'>http</b>服务器,升级WIPI模组

    讲解HTTP代理类别,使用设置,测试HTTP代理方法

    HTTP
    jf_62215197
    发布于 :2024年07月19日 07:03:46

    帮助读者更深入地了解IP代理领域,并掌握与HTTP相关的知识

    HTTP
    jf_62215197
    发布于 :2024年07月12日 07:06:12

    使用http代理究竟什么原因?

    HTTP
    jf_62215197
    发布于 :2024年05月13日 07:42:55

    Linux curl命令代理设置参数

    代理服务器(Proxy Server)是工作在浏览器与http服务器之间的一个服务应用,所有经过代理服务器的http请求,都会被转发到对应的http
    发表于 03-26 10:59 545次阅读

    Python智能家居系统代码介绍

    Python智能家居系统是一种基于Python编程语言开发的智能家居控制系统,在现代家庭得到了越来越广泛的应用。本文将详细介绍Python智能家居系统的
    的头像 发表于 01-25 09:46 1352次阅读