requests请求v_p_n代理方法
1、先了解http、socks5、socks5h
Http工作在应用层上,比如浏览器,一些app。
Socks工作在会话层上,且Socks代理只是简单地传递数据包,并且不必关心是何种应用协议,所以Socks5代理服务器比应用层代理服务器要快得多。
两者支持协议不同,工作环境也不同,因此也不能直接替换使用。
socks5与socks5h又有什么区别?
socks5用于本地解析域名
socks5h由代理服务器解析域名
所以当有些国外域名无法用socks5解析时就使用socks5h尝试
2、代码
想要请求v2rayN代理请使用socks5或socks5h,默认端口10808
#http
import requests
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
}
response = requests.get(r'www.google.com',
headers=headers,
proxies={'http': 'http://127.0.0.1:10808','https': 'https://127.0.0.1:10808'}, timeout=60)
print(response)
#socks5
import requests
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
}
response = requests.get(r'www.google.com',
headers=headers,
proxies={'http': 'socks5://127.0.0.1:10808','https': 'socks5://127.0.0.1:10808'}, timeout=60)
print(response)
#socks5h,下面这个域名就无法用socks5解析
import requests
headers = {
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/98.0.4758.82 Safari/537.36',
}
response = requests.get(r'https://raw.githubusercontent.com/mhjabreel/CharCnn_Keras/master/data/ag_news_csv/train.csv',
headers=headers,
proxies={'http': 'socks5h://127.0.0.1:10808','https': 'socks5h://127.0.0.1:10808'}, timeout=60)
print(response)