前言:

用过很多种代理使用方式,这里总结一下.

1、urllib+socks5的代理1

    from sockshandler import SocksiPyHandler
import socks
from urllib.request import build_opener headers = {
'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
'Accept - Encoding': 'gzip, deflate',
'Accept-Language': 'zh-Hans-CN, zh-Hans; q=0.5',
# 'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
} url = 'https://www.google.com/' proxy_handler = SocksiPyHandler(proxytype=socks.SOCKS5, proxyaddr='***', proxyport=0000, username='***', password='***')
opener = build_opener(proxy_handler)
opener.addheaders = [(k, v) for k, v in headers.items()]
resp = opener.open(url, timeout=30) resp_html = resp.read()
print(resp_html.decode())

2、如果本机挂了Shadowsocks代理,代理端口为1080,则代码可以修改为:

  proxy_handler = SocksiPyHandler(proxytype=socks.HTTP, proxyaddr='127.0.0.1', proxyport=1080)

3、urllib+socks5的代理2

    from urllib.request import ProxyHandler, build_opener

    headers = {
'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
'Accept - Encoding': 'gzip, deflate',
'Accept-Language': 'zh-Hans-CN, zh-Hans; q=0.5',
# 'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
   }
  proxies = { "socks5": "socks5://user:pwd@ip:port" } url = 'https://www.baidu.com/' proxy_handler = ProxyHandler(proxies) opener = build_opener(proxy_handler)
opener.addheaders = [(k, v) for k, v in headers.items()]
resp = opener.open(url, timeout=30) resp_html = resp.read()
print(resp_html.decode())

以上代码可以运行,但是感觉速度要慢一些。以上测试了,如果本地http代理,可以写成:

proxies = {
"http": "http://127.0.0.1:1080/",
"https": "https://127.0.0.1:1080/"
}

4、使用socks设置全局代理

    import socks
import socket socks.set_default_proxy(proxy_type=socks.SOCKS5, addr="***", port=000, rdns=True, username='***', password='***')
socket.socket = socks.socksocket

安装socks:

 pip install PySocks

# 会安装 socks 和 sockshandler 两个模块

5、使用requests设置代理

    import requests as s

    headers = {
'Accept': 'text/html, application/xhtml+xml, image/jxr, */*',
'Accept - Encoding': 'gzip, deflate',
'Accept-Language': 'zh-Hans-CN, zh-Hans; q=0.5',
'Connection': 'Keep-Alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.99 Safari/537.36'
} proxies = {
"http": "socks5://user:pwd@ip:port/",
"https": "socks5://user:pwd@ip:port/"
} # proxies = {
# "socks5": "socks5://user:pwd@ip:port"
# } # proxies = {
# "http": "http://127.0.0.1:1080/",
# "https": "https://127.0.0.1:1080/"
# } # url = 'https://www.google.com/'
# url = 'https://search.yahoo.com/'
url = 'https://www.baidu.com/' resp = s.get(url=url, proxies=proxies, headers=headers) print(resp.text)

python3 代理设置的更多相关文章

  1. JMeter学习-024-JMeter 命令行(非GUI)模式详解(二)-执行代理设置

    闲话少述,接 上文 继续... 5.设置代理 jmeter -n -t JMeter分布式测试示例.jmx -H 20.9.215.90 -P 9999 -l report\01-result.csv ...

  2. android sdk manager 代理设置(送给牛逼的)

    解决android sdk更新慢的问题(公司竟然把sdk更新给墙了). 第一步:如下图 第二部:进入代理设置页面,进行设置.如下图  

  3. sdk更新代理设置

    sdk更新代理设置 http://www.cnblogs.com/zhoujg/p/4560998.html

  4. JAVA HTTP请求 常用的代理设置

    由于公司上网实行代理机制, 而最近一段时间又在研究Web上的OpenApi. 没办法一定要使用代理,我之前有文章介绍了httpclient的代理使用方式, 这里介绍基本java的代理使用方式. 最常使 ...

  5. http错误和异常处理,认证和代理设置

    http错误: import urllib.requestreq = urllib.request.Request('http://www.python.org/fish.html')try:urll ...

  6. Windows Server 2012远程刷新客户端组策略,IE代理设置

    Windows Server 2012远程刷新客户端组策略: 1.PowerShell命令对单台计算机进行刷新: Invoke-GPUpdate -RandomDelayInMinutes 0 -Co ...

  7. 魅族MX2代理设置

    魅族MX2买了快2年了,今天才知道有这个功能,唉 连接一个无线网络,比如我的centos 长按网络名字 选代理设置,设置自己的代理,再也不用SS 或 VPN 的android端了,老是提示ROOT权限 ...

  8. Nginx的安装及反向代理设置

    因为项目的缘故,接触到了Nginx的安装和反向代理设置,和大家分享下. 一.Nginx的下载.安装cd /homewget http://nginx.org/download/nginx-1.0.5. ...

  9. git 代理设置

    git 代理设置: git config --global http.proxy http://proxy.com:8080git config --global https.proxy http:/ ...

随机推荐

  1. 第四十一篇-android studio 关闭自动保存功能

    此方法不可用. 第一步:取消自动保存功能 File > Settings > Appearance & Behavior > System Settings > Syn ...

  2. LA4080/UVa1416 Warfare And Logistics 最短路树

    题目大意: 求图中两两点对最短距离之和 允许你删除一条边,让你最大化删除这个边之后的图中两两点对最短距离之和. 暴力:每次枚举删除哪条边,以每个点为源点做一次最短路,复杂度\(O(NM^2logN)\ ...

  3. 责任链模式-Chain of Responsibility(Java实现), 例2

    责任链模式-Chain of Responsibility 在这种模式中,通常每个接收者都包含对另一个接收者的引用.如果一个对象不能处理该请求,那么它会把相同的请求传给下一个接收者,依此类推. 咱们在 ...

  4. 服务器代理+jQuery.ajax实现图片瀑布流

    服务器代理机制破解浏览器的同源策略 瀑布流功能实现分析 具体实现代码及业务实现分析 一.服务器代理机制破解浏览器同源策略 由于浏览器的同源策略无法请求不同域名下的资源,但是服务器的后台程序并不受同源策 ...

  5. 【codeforces 983E】NN country

    Description In the NN country, there are n cities, numbered from 1 to n, and n−1 roads, connecting t ...

  6. 20155324王鸣宇 《网络对抗技术》Web基础

    20155324王鸣宇 <网络对抗技术>Web基础 实践要求 ①Web前端HTML: 能正常安装.启停Apache.理解HTML,理解表单,理解GET与POST方法,编写一个含有表单的HT ...

  7. 一个疑问,int对象5为何没有__dict__属性,而类却有,这是怎么做到的?对象不是都可以调用类属性吗?

    a=1 print hasattr(a.__dict__) print hasattr(a.__class__.__dict__)

  8. 003 爬虫持久化的三个不同数据库的python代码

    MongoDB import pymongo # 1.连接MongoDB服务 mongo_py = pymongo.MongoClient() print(mongo_py) # 2.库和表的名字:有 ...

  9. $HOME

    Ubuntu中 命令行输入$HOME bash: /home/XXX: Is a directory $HOME 是用户主目录

  10. SHOT