python-requests auth 405 error and AttributeError: 'unicode' object has no attribute 'items'
python-requests auth 405 error and AttributeError: 'unicode' object has no attribute 'items'
我正在尝试使用 python "requests" 模块访问 SECURE NIFI rest API (https://nifi.apache.org/docs/nifi-docs/rest-api/)。到目前为止,我面临两个问题:
- 我尝试使用由
“请求”模块登录到安全 NIFI(使用 OpenLDAP),但它
给我“400”状态码。所以我
必须在请求的 HEADERS 中传递“用户名和密码”才能获取
用户令牌。
- 当我尝试将获得的令牌传递给进一步
请求:
(例如,pg_resp=requests.get("https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1",
headers="Authorization: Bearer <auth_code>")
),
它给我这个错误“AttributeError: 'unicode' object has no attribute 'items'”。我试图将 'unicode' 更改为字符串,但 'string' 也没有属性 'items'
两者的回溯 'unicode' 是:
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'
请问我是不是做错了什么?
此致
您需要将 headers 作为 dict
传递给 requests.get()
方法:
pg_resp=requests.get(
"https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1",
headers={"Authorization": "Bearer <auth_code>"}
)
请求模块正在尝试将您的字符串解压缩为字典(在其上调用 items()
),但 str
和 unicode
都没有这样的方法,因此出现错误。
我正在尝试使用 python "requests" 模块访问 SECURE NIFI rest API (https://nifi.apache.org/docs/nifi-docs/rest-api/)。到目前为止,我面临两个问题:
- 我尝试使用由 “请求”模块登录到安全 NIFI(使用 OpenLDAP),但它 给我“400”状态码。所以我 必须在请求的 HEADERS 中传递“用户名和密码”才能获取 用户令牌。
- 当我尝试将获得的令牌传递给进一步 请求:
(例如,pg_resp=requests.get("https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1",
headers="Authorization: Bearer <auth_code>")
),
它给我这个错误“AttributeError: 'unicode' object has no attribute 'items'”。我试图将 'unicode' 更改为字符串,但 'string' 也没有属性 'items'
两者的回溯 'unicode' 是:
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'
请问我是不是做错了什么?
此致
您需要将 headers 作为 dict
传递给 requests.get()
方法:
pg_resp=requests.get(
"https://localhost:9443/nifi-api/process-groups/2be8231f-015b-1000-47b1-428fc8c594e1",
headers={"Authorization": "Bearer <auth_code>"}
)
请求模块正在尝试将您的字符串解压缩为字典(在其上调用 items()
),但 str
和 unicode
都没有这样的方法,因此出现错误。