반응형
파이썬에서 기본 인증을 사용하려고합니다.
auth = requests.post('http://' + hostname, auth=HTTPBasicAuth(user, password))
request = requests.get('http://' + hostname + '/rest/applications')
응답 양식 auth 변수 :
<<class 'requests.cookies.RequestsCookieJar'>[<Cookie JSESSIONID=cb10906c6219c07f887dff5312fb for appdynamics/controller>]>
200
CaseInsensitiveDict({'content-encoding': 'gzip', 'x-powered-by': 'JSP/2.2', 'transfer-encoding': 'chunked', 'set-cookie': 'JSESSIONID=cb10906c6219c07f887dff5312fb; Path=/controller; HttpOnly', 'expires': 'Wed, 05 Nov 2014 19:03:37 GMT', 'server': 'nginx/1.1.19', 'connection': 'keep-alive', 'pragma': 'no-cache', 'cache-control': 'max-age=78000', 'date': 'Tue, 04 Nov 2014 21:23:37 GMT', 'content-type': 'text/html;charset=ISO-8859-1'})
하지만 다른 위치에서 데이터를 가져 오려고하면-401 오류가 발생합니다.
<<class 'requests.cookies.RequestsCookieJar'>[]>
401
CaseInsensitiveDict({'content-length': '1073', 'x-powered-by': 'Servlet/3.0 JSP/2.2 (GlassFish Server Open Source Edition 3.1.2.2 Java/Oracle Corporation/1.7)', 'expires': 'Thu, 01 Jan 1970 00:00:00 UTC', 'server': 'nginx/1.1.19', 'connection': 'keep-alive', 'pragma': 'No-cache', 'cache-control': 'no-cache', 'date': 'Tue, 04 Nov 2014 21:23:37 GMT', 'content-type': 'text/html', 'www-authenticate': 'Basic realm="controller_realm"'})
내가 이해하는 한-두 번째 요청은 대체 세션 매개 변수가 아닙니다.
해결 방법
session = requests.Session()
session.auth = (user, password)
auth = session.post('http://' + hostname)
response = session.get('http://' + hostname + '/rest/applications')
참조 페이지 https://stackoverflow.com/questions/26745462
반응형
'파이썬' 카테고리의 다른 글
파이썬 장고 삭제 수퍼 유저 (0) | 2020.12.05 |
---|---|
파이썬 문자열`\ xaa`에서 선행`\ x`는 무엇을 의미합니까? (0) | 2020.12.05 |
파이썬 사전을 JSON으로 변환 (0) | 2020.12.05 |
파이썬 Matplotlib를 사용하여 두 개의 y 축 스케일에 대한 격자 선을 어떻게 정렬합니까? (0) | 2020.12.05 |
파이썬 Reconstruct a categorical variable from dummies in pandas (0) | 2020.12.05 |
댓글