2017-05-21 10 views
1

私はPython "requests"モジュールを使ってSECURE NIFI rest API(https://nifi.apache.org/docs/nifi-docs/rest-api/)にアクセスしようとしています。私は(OpenLDAPのと)基本的な使用と安全なNIFIにログインする 「リクエスト」モジュールが提供する認証方法をダイジェストしようとしたが、それは は私に「400」の状態を示しますpython-requests auth 405エラーとAttributeError: 'unicode'オブジェクトに属性 'items'がありません

  1. :今まで、私は2つの問題に直面していますコード。だから、 は、ユーザートークン を取得する要求のHEADERSに「ユーザー名とパスワード」を渡さなければなりませんでした。

(例えば、pg_resp=requests.get("https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1", headers="Authorization: Bearer <auth_code>"))、

それは私にこのエラーが発生します「はAttributeError:私は 要求を促進するために取得したトークンを渡すしようとすると

  • は 『ユニコード』オブジェクトには属性 『アイテム』を持っていません"私は、文字列に「ユニコード」を変更しようとしましたが、「string」がまた「ユニコード」の両方のために無属性の項目「

    トレースバックがあるしています

    Traceback (most recent call last): 
        File "<stdin>", line 1, in <module> 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/api.py", line 70, in get 
        return request('get', url, params=params, **kwargs) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/api.py", line 56, in request 
        return session.request(method=method, url=url, **kwargs) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/sessions.py", line 461, in request 
        prep = self.prepare_request(req) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/sessions.py", line 394, in prepare_request 
        hooks=merge_hooks(request.hooks, self.hooks), 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/models.py", line 295, in prepare 
        self.prepare_headers(headers) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/models.py", line 407, in prepare_headers 
        for header in headers.items(): 
    AttributeError: 'unicode' object has no attribute 'items' 
    

    「STR」のトレースバックは、次のとおりです。

    Traceback (most recent call last): 
        File "<stdin>", line 1, in <module> 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/api.py", line 70, in get 
        return request('get', url, params=params, **kwargs) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/api.py", line 56, in request 
        return session.request(method=method, url=url, **kwargs) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/sessions.py", line 461, in request 
        prep = self.prepare_request(req) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/sessions.py", line 394, in prepare_request 
        hooks=merge_hooks(request.hooks, self.hooks), 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/models.py", line 295, in prepare 
        self.prepare_headers(headers) 
        File "/home/shambakey1/miniconda2/lib/python2.7/site-packages/requests/models.py", line 407, in prepare_headers 
        for header in headers.items(): 
    AttributeError: 'str' object has no attribute 'items' 
    

    私は何か間違っているのだろうか?

    よろしく

    あなたはdictからrequests.get()方法としてヘッダを渡す必要があり
  • 答えて

    0

    :要求モジュールは辞書としてあなたの文字列を解凍しようとしている

    pg_resp=requests.get(
        "https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1", 
        headers={"Authorization": "Bearer <auth_code>"} 
    ) 
    

    とどちらstr(その上にitems()を呼び出します)そのような方法、従って誤差を有するものではない。

    +0

    多くのおかげで、それは問題を解決しました – shambakey1

    関連する問題