2.7

2017-10-22 10 views
0

내가 완벽하게 잘 작동하고 나에게 위의 API는 base64 형식 승인을 필요로하고 세부 헤더로 전달해야 할 2002.7

curl -i -H "Authorization: Basic jadkfhjkafDSKJ12DD=" http://<ip>/LoadTest/rest/authentication-point/authenticate 

HTTP를을 제공하는 curl 명령을 . 이것은 GET 요청입니다.

파이썬 2.7에서 같은 것을 실행하려고하면 Response [403]이 나옵니다. 아래 코드.

import requests 
headers = {'Authorization': 'Basic jadkfhjkafDSKJ12DD='} 
authurl = "http://<ip>/LoadTest/rest/authentication-point/authenticate" 
r = requests.get(authurl, headers=headers) 
print r.status_code 

무엇이 여기에 있습니까? curl 명령을 전달한 것과 똑같이 인증 값을 전달해야합니까? 여러 방법을 시도했지만 여전히 HTTP 403이 항상 끝납니다. 친절하게 안내합니다.

+0

에 정의하면 .netrc (코드) 정보는 않을 것이다 다음 trust_env=False 설정

import requests session = requests.Session() session.trust_env = False headers = {'Authorization': 'Basic jadkfhjkafDSKJ12DD='} authurl = "http://<ip>/LoadTest/rest/authentication-point/authenticate" r = session.get(authurl, headers=headers) print r.status_code 

다음은이 무시 이 문제를 해결하여 네트워크 트래픽을 캡처하고 전화 통화에서 다른 점을 파악하는 가장 쉬운 방법은 무엇입니까? –

+0

확실합니다. 어떻게 할 수 있습니까? 제발 제안하십시오 – Dev

+0

Google을 사용해 보셨습니까? –

답변

0

입력 해 주셔서 감사합니다. 이것이 최종 해결책입니다. 페이로드가 멈추는 프록시가 있음을 발견했습니다. 그래서 요청에 세션을 추가했습니다.

  • 인증
  • CA 번들 REQUESTS_CA_BUNDLE 또는 CURL_CA_BUNDLE (코드)