最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決python異步框架aiohttp無法使用本地代理問題

 更新時間:2024年07月18日 09:06:54   作者:FOAF-lambda  
這篇文章主要介紹了解決python異步框架aiohttp無法使用本地代理問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

問題

  • aiohttp 在全局代理模式下無法訪問墻外的網址,而requests可以
  • aiohttp不支持https代理,無論訪問的網址是http還是https,使用代理是字符串proxy='http://127.0.0.1:10080'
import aiohttp
import asyncio
headers = {
        'User-Agent': "mozilla/5.0 (windows nt 6.1; win64; x64) applewebkit/537.36 (khtml, like gecko) chrome/69.0.3494.0 safari/537.36",
}
async def fetch(session,url):
    async with session.get(url=url,headers=headers,timeout=50,verify_ssl=False,proxy='http://127.0.0.1:10080') as resposne:
        print(resposne.status)
        return await resposne.text()
async def main():
    async with aiohttp.ClientSession() as session:
        url='https://www.google.com'
        html = await fetch(session,url)
        print(html)
loop = asyncio.get_event_loop()
loop.run_until_complete(main()) 
  • 當session.get里面不傳入proxy時
  • 會根據ClientSession里面的一個參數叫trust_env是否為True來使用本地代理
  • 但源碼中的使用條件是
elif self._trust_env:
    for scheme, proxy_info in proxies_from_env().items():
        if scheme == url.scheme:
            proxy = proxy_info.proxy
            proxy_auth = proxy_info.proxy_auth
            break
  • scheme == url.scheme 這個條件阻擋了請求https網址
  • aiohttp不支持https代理
  • 所以這是一個矛盾的地方

解決方式1

  • 修改源碼
  • 對scheme == url.scheme這個條件進行修改
  • 并且在aiohttp.ClientSession(trust_env=True)傳入trust_env=True
  • 這種方式不提倡

解決方式2

  • 獲取本地代理
  • 然后在沒有代理時在session.get使用本地代理
def get_local_proxy():
    
    from urllib.request import getproxies
    proxy = getproxies()['http']
    #proxies = {'http': 'http://127.0.0.1:10809', 'https': 'http://127.0.0.1:10809'}
    proxies = {'http': proxy , 'https': proxy}
    return proxies

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 通過Python實現自動填寫調查問卷

    通過Python實現自動填寫調查問卷

    這篇文章主要介紹了通過Python實現自動填寫調查問卷的相關資料,需要的朋友可以參考下
    2017-09-09
  • Django中Model的使用方法教程

    Django中Model的使用方法教程

    最近學習了一下Django文檔的model部分,通過學習的內容整理了這篇文章,下面這篇文章主要給大家介紹了關于Django中Model的使用方法的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2018-03-03
  • 如何在Win10系統使用Python3連接Hive

    如何在Win10系統使用Python3連接Hive

    這篇文章主要介紹了如何在Win10系統使用Python3連接Hive,幫助大家更好的利用python讀取數據,進行探索、分析和挖掘工作。感興趣的朋友可以了解下
    2020-10-10
  • python數據分析之線性回歸選擇基金

    python數據分析之線性回歸選擇基金

    這篇文章主要介紹了python數據分析之線性回歸選擇基金,文章基于前幾篇的文章內容展開詳細的基金的趨勢分析,感興趣的小伙伴可以參考一下
    2022-05-05
  • Python全自動實現Excel數據分列

    Python全自動實現Excel數據分列

    在 Excel 數據處理中,數據分列是高頻剛需操作,本文將使用免費 Excel 處理庫,通過 Python 實現全自動單列拆分多列,并對比 Excel 自帶分列與 VBA 方案,幫你快速選出最合適的處理方式
    2026-04-04
  • Python3字符串encode與decode的講解

    Python3字符串encode與decode的講解

    今天小編就為大家分享一篇關于Python3字符串encode與decode的講解,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • python實現將html表格轉換成CSV文件的方法

    python實現將html表格轉換成CSV文件的方法

    這篇文章主要介紹了python實現將html表格轉換成CSV文件的方法,涉及Python操作csv文件的相關技巧,需要的朋友可以參考下
    2015-06-06
  • 使用OpenCV實現道路車輛計數的使用方法

    使用OpenCV實現道路車輛計數的使用方法

    這篇文章主要介紹了使用OpenCV實現道路車輛計數的使用方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Anaconda安裝配置Jupyter最新版的圖文步驟

    Anaconda安裝配置Jupyter最新版的圖文步驟

    本文詳細介紹了在本地環(huán)境中使用Anaconda安裝和配置Jupyter?Notebook的過程,具有一定的參考價值,感興趣的可以了解一下
    2025-03-03
  • Python中判斷語句入門指南(if?elif?else語句)

    Python中判斷語句入門指南(if?elif?else語句)

    if elif else語句是Python中的控制語句,用于根據條件執(zhí)行不同的操作,下面這篇文章主要給大家介紹了關于Python中判斷語句入門指南(if?elif?else語句)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05

最新評論

赞皇县| 临洮县| 肃北| 景洪市| 山阳县| 洪泽县| 封丘县| 日土县| 思南县| 上高县| 桃江县| 永兴县| 固安县| 白水县| 高密市| 张家港市| 永川市| 宁阳县| 罗山县| 郧西县| 姜堰市| 红桥区| 桃源县| 吐鲁番市| 伊通| 西畴县| 桑植县| 玛曲县| 佛冈县| 扎兰屯市| 新龙县| 浮山县| 田阳县| 枣庄市| 林芝县| 务川| 荔浦县| 南华县| 会宁县| 通城县| 庆安县|