python 使用代理的几种方式 |
您所在的位置:网站首页 › 微信如何设置代理服务器连接 › python 使用代理的几种方式 |
目录 HTTP全局代理:环境变量方式 HTTP全局代理:代码实现方式 SOCKS全局代理 针对部分请求设置代理 本文介绍几种在Python里使用代理的方式,假定代理运行在本机,HTTP代理端口为1231, SOCKS5代理端口为8080。 HTTP全局代理:环境变量方式在命令行里配置如下环境变量,然后执行Python脚本,Python在进行网络请求时就会使用配置的代理。 export http_proxy="http://127.0.0.1:1231" export https_proxy="http://127.0.0.1:1231" HTTP全局代理:代码实现方式也可以在Python代码里添加如下内容,效果与上面的方式相同: import os os.environ["http_proxy"] = "http://127.0.0.1:1231" os.environ["https_proxy"] = "http://127.0.0.1:1231" SOCKS全局代理通过设置环境变量的方式通常只能使用HTTP代理。要使用全局SOCKS代理可以使用tsocks. 安装tsocks后,编辑/etc/tsocks.conf,以使用端口为8080的本地SOCKS5代理为例: server = 127.0.0.1 server_port = 8080 server_type = 5配置完成后在原来的脚本执行命令前添加tsocks即可使用,例如: tsocks python3 myscript.py 针对部分请求设置代理前面的几种方式会为所有的HTTP请求设置代理,如果只想让部分请求使用代理,可以使用requests的proxies参数: import requests proxies = {'http': "socks5://127.0.0.1:8080", 'https': "socks5://127.0.0.1:8080"} print(requests.get(url, proxies=proxies).content)例如下载图片,可使用: with requests.get(url, proxies=proxies, stream=True) as r: if r.status_code != 200: return with open(path, 'wb') as f: for chunk in r.iter_content(chunk_size=8192): f.write(chunk)
|
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |