2017-09-22 13 views
0

私はPython 3のコードをいくつか持っており、チャンネルslackclientを使ってチャネルに投稿することはできますが、問題はありません。しかし、すべてのトラフィックがプロキシを通過する必要がある企業サーバーからこのコードを実行すると失敗します。私はプロキシサーバーとポートを知っており、サーバーから以下のようにピップを実行する必要があります。Python 3.x Slack(slackclient)は企業のプロキシを使用します

pip install --proxy proxy.evilcorp.com:8080 slackclient 

それは素晴らしいです。私がピップをプロキシしないと、期待通りに接続できません。だから私はちょうど私のスラッククライアントのコードをプロキシを使用する方法を把握する必要があるが、どのようにする必要がありますか?私のコードは次のとおりです:

from slackclient import SlackClient 

def get_slackclient(): 
    token = "blah-blah-token" 
    sc = SlackClient(token) 
    return sc 

def post_slackmessage(username,channel,text): 
    sc = get_slackclient() 
    try: 
     sc.api_call("chat.postMessage",channel=channel,text=text,username=username,unfurl_links="true") 
    except: 
     print ("failed to post messaage to slack") 

post_slackmessage("test_slack", "test", "hurrah it posted") 

私はちょうどプロキシ設定を置く場所を見つけることができないようだ、私は何かが簡単に欠けている必要があります。私はボックスのアイデア以外のものを開いてこの作業をすべて行えるようにしていますが、サーバーに何かをインストールして、すべてのトラフィックをプロキシ経由で移動させたり、プロキシ設定を変更することはできません。

答えて

2

他の誰かが同じ問題を抱えている場合に備えて、私はここに残しておきます。それを内蔵しているように見えるだけでプロキシの辞書を渡す。

def get_slackclient(): 
    #https://api.slack.com/custom-integrations/legacy-tokens 
    token = "blah-blah-blah" 
    proxies = dict(https="proxy.evilcorp.com:8080", http="proxy.evilcorp.com:8080") 
    sc = SlackClient(token, proxies=proxies) 
    return sc 

まあ、それは:)

簡単でした
関連する問題