iT邦幫忙

0

python 連結 google 試算表 timeout

我有一個程式碼如下

import gspread
from oauth2client.service_account import ServiceAccountCredentials
scope = ['https://spreadsheets.google.com/feeds',
         'https://www.googleapis.com/auth/drive']
credentials = ServiceAccountCredentials.from_json_keyfile_name('andyto202.json', scope)
gc = gspread.authorize(credentials)
wks = gc.open("UploadByPython").sheet1
print(wks.get_all_values())

就是python連進google試算表讀出資料
在家裡測試是好的(有讀到結果)
但是在公司有下列錯誤訊息(公司要用proxy才能連出去)
錯誤訊息如下

WARNING:urllib3.connectionpool:Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x0606E568>: Failed to establish a new connection: [WinError 10060] 連線嘗試失敗,因為連線對象有一段時間並未正確回應,或是連線建立失敗,因為連線的主機無法回應。')': /token

請問前輩要怎麼加入proxy
謝謝

froce iT邦大師 1 級 ‧ 2020-08-28 13:55:04 檢舉
把你的環境變數加上 http_proxy 和 https_proxy。
windows 的話在執行python檔案前加上 set http_proxy=[http://proxy-address:port]
andyto202 iT邦研究生 4 級 ‧ 2020-08-28 14:18:22 檢舉
froce 您好
我後來的解法是加上下列3行
import os
os.environ['http_proxy'] = 'http://xxx.xxx.xxx.xxx'
os.environ['https_proxy'] = 'https://xxx.xxx.xxx.xxx'
這樣子不知道是不是正確的解法
因為一開始一直執著在要設法把 urllib3加proxy再跟這個程式碼做連結
froce iT邦大師 1 級 ‧ 2020-08-28 14:19:57 檢舉
你的方法跟我的一樣啊...
只是一個在cmd/sh做,一個在程式設定。

urllib3就是吃環境變數來決定是不是跑proxy的,如果你的主機常有這類程式,建議直接永久加入環境變數。

尚未有邦友回答

立即登入回答