一、什么是HTTP代理。
HTTP代理就是介于浏览器和web服务器之间的一台服务器,连接代理后,浏览器不再直接向web服务器取回网页,而是向代理服务器发出request信号,代理服务器再想web服务器发出请求,收到web服务器返回的数据后再反馈给浏览器。
二、华益云HTTP代理IP基本参数介绍
1:基本参数介绍:支持http,https,socks5等多种协议类型。100%高匿IP,支持API提取,API最快提取间隔1秒,一次最多可以提取200个。
2:支持的语言:python,java,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文章
526浏览量
33857 -
浏览器
+关注
关注
1文章
1042浏览量
36541 -
python
+关注
关注
56文章
4833浏览量
87863
发布评论请先 登录
相关推荐
热点推荐
基础篇3:掌握Python中的条件语句与循环
不同的条件执行不同的代码块。Python中的条件语句主要使用if、elif(else if的缩写)和else关键字。
if语句
最简单的条件语句是if语句,它的工作方式如下:
复制代码
发表于 07-03 16:13
零基础入门:如何在树莓派上编写和运行Python程序?
在这篇文章中,我将为你简要介绍Python程序是什么、Python程序可以用来做什么,以及如何在RaspberryPi上编写和运行一个简单的Python程序。什么是

使用Python API在OpenVINO?中创建了用于异步推理的自定义代码,输出张量的打印结果会重复,为什么?
使用 Python* API 在 OpenVINO? 中创建了用于异步推理的自定义代码。
遇到输出张量的打印结果会重复的问题,即使输入图像不同。
发表于 03-06 07:53
创建了用于OpenVINO?推理的自定义C++和Python代码,从C++代码中获得的结果与Python代码不同是为什么?
创建了用于OpenVINO?推理的自定义 C++ 和 Python* 代码。
在两个推理过程中使用相同的图像和模型。
从 C++ 代码中获得的结果与
发表于 03-06 06:22
docker配置网络代理
有时因为网络原因,比如公司 NAT,或其它啥的,需要使用代理。Docker 的代理配置,略显复杂,因为有三种场景。但基本原理都是一致的,都是利用 Linux 的 http_proxy 等环境变量。
使用Python实现xgboost教程
装: bash复制代码conda install -c conda-forge xgboost 2. 导入必要的库 在你的Python脚本或Jupyter Notebook中,导入必要的库:
Python中dict支持多个key的方法
? 在Python中,字典(dict)是一种非常强大的数据结构,它允许我们通过键(key)来存储和检索值(value)。有时候,我们可能想要根据多个键来检索或操作字典中的数据。虽然Python
Python编程:处理网络请求的代理技术
在网络编程中,代理技术扮演着至关重要的角色,尤其在处理网络请求时。通过代理服务器,我们可以实现请求的转发、缓存、负载均衡以及安全控制等功能。Python作为一种功能强大的编程语言,为提
Python中代理服务器的配置与应用
一种强大的编程语言,提供了丰富的库和模块,使得实现和配置代理服务器变得相对简单。以下将详细介绍在Python中如何配置与应用代理服务器。
Python库解析:通过库实现代理请求与数据抓取
在Python中,有多个库可以帮助你实现代理请求和数据抓取。这些库提供了丰富的功能和灵活的API,使得你可以轻松地发送HTTP请求、处理响应、解析HTML/XML/JSON数据,以及进
使用Python构建高效的HTTP代理服务器
构建一个高效的HTTP代理服务器在Python中涉及多个方面,包括性能优化、并发处理、协议支持(HTTP/HTTPS)、错误处理以及日志记录
使用Python搭建简易本地http服务器,升级WIPI模组
01 下载python https://www.python.org/downloads/ 02 安装python 安装时候选择把path加入电脑环境变量 3 由于python内建了简

评论