2012-08-29 3 views
3

나는 짧은 시간에 수백 건의 HTTP 요청을 SSL 전용 인 웹 서비스에 보내야하는 Python 애플리케이션을 개발 중이다. 파이썬에서 HTTP Pipelining에 대한 지원이 있습니까?파이썬에서의 HTTP SSL 파이프 라이닝

+1

이미 이러한 요청을 동시에 전송했는데 속도가 너무 느린 적이 있습니까? [Here] (http://stackoverflow.com/a/9010299/95735)는 파이썬에서 동시 http 요청과 관련된 질문 목록입니다. –

+0

'requests'가 유망 해 보입니다. 시도해 보겠습니다. 감사! – andrewdotn

답변

2

파이썬의 grequests 모듈을 사용하여이 문제를 해결할 수있었습니다.

당신이 실제 파이프 라이닝을 수행 할 경우
s = requests.session() 
rs = [grequests.get(url, session=s) for url in urls] 
grequests.map(rs) 
+1

이것은 원래 요청한대로 실제로 HTTP 파이프 라이닝을 수행합니까? 또는 각각의 비동기 요청을 분리하면 연결 대기 시간, 설정 및 오버 헤드가 많이 발생합니까? – nealmcb

+0

@nealmcb이 문제를 뚫고 일 년 후에 상황이 바뀌었을 수도 있습니다.하지만 요청이 하나의 HTTP 연결에서 한꺼번에 많은 요청을 전송한다는 의미에서 실제 파이프 라이닝을하지는 못했지만 HTTP 연결을 다시 사용했습니다 응답을 파싱하고 지속하면 병목 현상이 발생했습니다. – andrewdotn

+0

Ahh - 나는 keep-alive를 생각하고 있었는데, 이것은 보통 기본적으로 켜져 있습니다. 주어진 requests.session()을 보면, 나는 이것을 시도하지는 않았지만 제대로 된 것처럼 보입니다. – nealmcb

-1

, this site 당신을 위해 그것을 할 것입니다 기능을 가지고 : issue 13에 설명 된대로, 그것은 간단합니다. Wireshark로 테스트하여 단일 연결을 통한 응답을 기다리지 않고 요청을 보낼 수 있습니다.