두 개의 Python 스크립트가 있습니다. 하나는 Urllib2 라이브러리 를 사용하고 다른 하나는 요청 라이브러리를 사용합니다. .
Requests를 구현하기가 더 쉽다는 것을 알았지 만 urlib2의 read()
기능에 해당하는 것을 찾을 수 없습니다 . 예를 들면 :
...
response = url.urlopen(req)
print response.geturl()
print response.getcode()
data = response.read()
print data
게시물 URL을 구축 data = response.read()
하면 콘텐츠를 제공합니다. vcloud director api 인스턴스에 연결하려고하는데 응답에 액세스 권한이있는 엔드 포인트가 표시됩니다. 그러나 다음과 같이 Requests 라이브러리를 사용하면 .....
....
def post_call(username, org, password, key, secret):
endpoint = '<URL ENDPOINT>'
post_url = endpoint + 'sessions'
get_url = endpoint + 'org'
headers = {'Accept':'application/*+xml;version=5.1', \
'Authorization':'Basic '+ base64.b64encode(username + "@" + org + ":" + password), \
'x-id-sec':base64.b64encode(key + ":" + secret)}
print headers
post_call = requests.post(post_url, data=None, headers = headers)
print post_call, "POST call"
print post_call.text, "TEXT"
print post_call.content, "CONTENT"
post_call.status_code, "STATUS CODE"
....
.... the print post_call.text
and print post_call.content
는 호출 후 요청에서 상태 코드가 200 인 경우에도 아무것도 반환하지 않습니다.
요청의 응답이 텍스트 나 콘텐츠를 반환하지 않는 이유는 무엇입니까?