How can make yfinance work over http(s) or socks5 proxy?

I have built a proxy server with vmess protocol on vps ,and a proxy client with same vmess protocol locally.

yahoo website can open via port 2081 in browser(set proxy port 2081 for http and https in firefox),port 2081 provide http(s) proxy.
Port 2080 provide socks5 proxy service:

url="https://query1.finance.yahoo.com/v7/finance/download/MSFT"
curl --socks5-hostname 127.0.0.1:2080 $url  -o msft.txt

I can download yahoo data now,expect to use yfinance library with these proxy.
Try method 1:

import yfinance as yf
msft = yf.Ticker("MSFT")
msft.history(proxy="http://127.0.0.1:2081")
msft.history(proxy="https://127.0.0.1:2081")
msft.history(proxy="socks5://127.0.0.1:2080")

None of them can work!

Try method 2:

debian@debian:~$ export all_proxy=socks5://127.0.0.1:2080
debian@debian:~$ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44) 
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import yfinance as yf
>>> msft = yf.Ticker("MSFT")
>>> msft.history()
Failed to get ticker 'MSFT' reason: SOCKSHTTPSConnectionPool(host='query2.finance.yahoo.com', port=443): Read timed out. (read timeout=10)
MSFT: No price data found, symbol may be delisted (period=1mo)
Empty DataFrame
Columns: [Open, High, Low, Close, Adj Close, Volume]
Index: []

Same issue for export https_proxy=http://127.0.0.1:2081.

Try method 3:

#pip install Pysocks first
import socket
import socks
socks.set_default_proxy(socks.SOCKS5, "127.0.0.1", 2080)
socket.socket = socks.socksocket
import yfinance as yf
msft = yf.Ticker("MSFT")
msft.history()

Error info:

Failed to get ticker 'MSFT' reason: 
HTTPSConnectionPool(host='query2.finance.yahoo.com', port=443): 
Max retries exceeded with url: /v8/finance/chart/MSFT?
range=1d&interval=1d&crumb=tCwRGfMyTIV (Caused by 
NewConnectionError('<urllib3.connection.HTTPSConnection object at 
0x7f78d3f89730>: Failed to establish a new connection: [Errno -2] 
Name or service not known'))

How to fix it then?