Следуя предложению Я попал в вопросы о Pycurl Github, я нашел код опции для CURLPROXY_HTTPS, и это 2
.
Мне удалось отправить запрос через защищенный веб-прокси с помощью pycurl, используя следующий код:
import pycurl
from io import BytesIO
import certifi
def request_with_pycurl(username, password, host, port, target_url='https://api.ipify.org/'):
buffer = BytesIO()
c = pycurl.Curl()
c.setopt(pycurl.CAINFO, certifi.where())
# set proxy-insecure
c.setopt(c.PROXY_SSL_VERIFYHOST, 0)
c.setopt(c.PROXY_SSL_VERIFYPEER, 0)
# set headers
c.setopt(pycurl.USERAGENT, 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:8.0) Gecko/20100101 Firefox/8.0')
# set proxy
c.setopt(pycurl.PROXY, f"https://{host}:{port}")
# proxy auth
c.setopt(pycurl.PROXYUSERPWD, f"{username}:{password}")
# set proxy type = "HTTPS"
c.setopt(pycurl.PROXYTYPE, 2)
# target url
c.setopt(c.URL, target_url)
c.setopt(c.WRITEDATA, buffer)
c.perform()
c.close()
body = buffer.getvalue()
return body
response = request_with_pycurl("proxy_username", "proxy_password", "proxy_host", "proxy_port").decode()
print(response)