파이썬에서 기본 http auth thru 소켓을 사용하여 서버에 연결하는 방법 내 프로그램이 저수준 소켓 I/O 작업을 수행 할 때 urllib/urllib2 등을 사용하고 싶지 않음파이썬에서 소켓을 사용하는 HTTP 기본 인증
3
A
답변
4
아마도 가장 쉬운 곳은 makefile()
을 사용하여 소켓에 대한 더 간단한 파일과 유사한 인터페이스를 얻는 것입니다.
import socket, base64
host= 'www.example.com'
path= '/'
username= 'fred'
password= 'bloggs'
token= base64.encodestring('%s:%s' % (username, password)).strip()
lines= [
'GET %s HTTP/1.1' % path,
'Host: %s' % host,
'Authorization: Basic %s' % token,
'Connection: close',
]
s= socket.socket()
s.connect((host, 80))
f= s.makefile('rwb', bufsize=0)
f.write('\r\n'.join(lines)+'\r\n\r\n')
response= f.read()
f.close()
s.close()
당신은 당신이 HTML 또는 인증 필수 헤더를 골라 반환 된 응답을 해석해야하는 경우 많은에게보다 더 많은 일을해야하고, 그 리디렉션, 오류, 전송 인코딩 및 모든 처리 할게 권리. HTTP는 복잡 할 수 있습니다! 저수준 소켓을 사용해야합니까?
2
예. urllib의 sources에서 특히 http_error_401
함수 (물론 그 주위를 파견하는 것) : HTTP 요청을 만들고, 401 응답을보고, 해당 영역을 추출하고, 해당 체계가 basic
인지 확인하고, 해당 영역에 대한 사용자 및 암호로 다시 시도하십시오 (동일한 소스 파일에 cf34 함수 retry_http_basic_auth
). 당연히 많은 일들이 필요하지만, 그것은 당신이 필요로하는 것처럼 "베어 메탈에 이르기까지"프로그래밍의 대가입니다.
관련 문제
- 1. Authlogic으로 HTTP 기본 인증
- 2. HTTP 기본 인증
- 3. 장고 + 기본 http 인증
- 4. HTTP API 호출에 Authlogic 또는 authenticate_or_request_with_http_basic을 사용하는 HTTP 기본 인증?
- 5. Ajax : HTTP 기본 인증 및 인증 쿠키
- 6. NSURLConnection SSL HTTP 기본 인증
- 7. java webstart의 http 기본 인증
- 8. 스프링 보안 HTTP 기본 인증
- 9. Rails HTTP 기본 인증 실패
- 10. JBoss 4의 HTTP 기본 인증?
- 11. HTTP Jetty 서버의 기본 인증
- 12. HTTP 기본 인증을 사용하는 WCF
- 13. 파이썬으로 기본 HTTP 인증 3.2 (urllib.request)
- 14. java에서 소켓을 사용하는 다중 HTTP 요청
- 15. HTTP 1.1 Java에서 소켓을 사용하는 영구 연결
- 16. 소켓을 사용하는 HTTP 응답의 임의 문자
- 17. asiHttpRequest를 사용하는 HTTP 다이제스트 인증
- 18. PHP 인증을 사용하는 HTTP 인증
- 19. Obj C 및 Xcode를 사용하는 기본 HTTP 인증
- 20. Facebook Connect 및 HTTP 기본 인증
- 21. http 기본 인증 - 최대 허용 시도 횟수?
- 22. Authlogic - 기본 HTTP 인증을 통한 인증
- 23. Safari 4의 QuickTime HTTP 기본 인증
- 24. 코코아 기본 HTTP 인증 : 조언이 필요합니다
- 25. Android에서 HTTP 기본 인증 헤더를 보내려면 어떻게해야합니까?
- 26. Restlet 기본 HTTP 인증 : 필요한 도움말
- 27. rails rspec http 기본 인증 테스트
- 28. 모든 요청에 대해 HTTP 기본 인증 설정
- 29. Android 폰에서 Rails 서버의 기본 HTTP 인증
- 30. HTTP - 기본 인증 및 401 오류