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)
posted @ 2022-02-17 10:52  Maple_feng  阅读(658)  评论(0编辑  收藏  举报