1

クラウドでホストされているアプリケーションhttps://www.quickbase.com/にアクセスしようとするときに、会社のファイアウォール内で SSL 証明書を検証する際に助けが必要です。自宅からスクリプトを実行すると、pyquickbase モジュールは完全に機能します。参考までに、私のコードとトレースバックを以下に示します。

    ### Python script to log into database
    import quickbase
    client = quickbase.Client(username='JohnDoe',password='OpenQB', database='qb_database',
                              apptoken='xxxdfdafd', base_url="https://www.quickbase.com")

    response = client.list_db_pages(database='qb_database')
    print(response)
    ###

トレースバック (最新の呼び出しが最後):

    File "D:\Users\User123\Documents\pyfund\Quickbase\QB_api_check.py", line 3, in <module>
apptoken='xxxdfdafd', base_url="https://www.quickbase.com")
    File "C:\Python27\lib\site-packages\quickbase.py", line 191, in __init__
self.authenticate()
    File "C:\Python27\lib\site-packages\quickbase.py", line 263, in authenticate
required=['ticket', 'userid'], ticket=False)
    File "C:\Python27\lib\site-packages\quickbase.py", line 219, in request
request = requests.post(url, data, headers=headers)
    File "C:\Python27\lib\site-packages\requests\api.py", line 111, in post
return request('post', url, data=data, json=json, **kwargs)
    File "C:\Python27\lib\site-packages\requests\api.py", line 57, in request
return session.request(method=method, url=url, **kwargs)
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 475, in request
resp = self.send(prep, **send_kwargs)
    File "C:\Python27\lib\site-packages\requests\sessions.py", line 585, in send
r = adapter.send(request, **kwargs)
    File "C:\Python27\lib\site-packages\requests\adapters.py", line 477, in send
raise SSLError(e, request=request)
    SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590)
4

1 に答える 1

0

OK、OS 環境変数を使用してプロキシを設定しようとしましたが、requests.get では呼び出し内でプロキシを渡す必要があったため、機能しませんでした。としてプロキシDictを作成しました

proxyDict = { 
              "http"  : http_proxy, 
              "https" : https_proxy, 
              "ftp"   : ftp_proxy
            }

https は、SSL 証明書を受け取るために必要なものでした。呼び出しにプロキシを明示的に含めるために、使用している quickbase および pybase モジュールを変更する必要があります。

于 2016-07-22T17:23:23.673 に答える