2010-05-22 4 views
-1

이것은 아마도 매우 간단한 질문처럼 보일 것입니다. 그리고 이것이 왜 저에게 그렇게 어려운지에 관해서는 혼란 스럽습니다.urllib와 쿠키

urllib (urllib2 아님)을 사용하여 요청한 URL의 내용을 가져 오는 [url, data, cookies] 입력을받는 함수를 작성하고 싶습니다. 나는 간단 할 거라고 생각, 그래서 나는 다음 썼다 :

def fetch(url, data = None, cookies = None): 
    if isinstance(data, dict): data = urllib.urlencode(data) 
    if isinstance(cookies, dict): 
    # TODO: find a better way to do this 
    cookies = "; ".join([str(key) + "=" + str(cookies[key]) for key in cookies]) 
    opener = urllib.FancyURLopener() 
    opener.addheader("Cookie", cookies) 
    obj = opener.open(url, data) 
    result = obj.read() 
    obj.close() 
    return result 

이 작동하지 않습니다, 지금까지 내가 말할 수있는 (누구 사항을 확인 할 수 있습니까?) 난 난처한 상황에 빠진입니다.

+0

아래의 문제를 해결하십시오 pls – goldisfine

답변

1

시도했을 때 무엇이 ​​잘못되었거나 테스트중인 http 서버가 무엇인지 알리지 않았습니다. 요청이 완료 되었습니까? 서버가 쿠키를 인식하지 못 했습니까? 나에게 떠오르는 한 가지 점은 잠재적으로 여러 개의 쿠키를 단일 헤더 필드에 결합한다는 것입니다. 별도의 Cookie: 헤더 필드를 사용하면 작동합니까?

+0

문제가 실현되었지만 완벽하게 작동했지만 내 테스트 페이지는 아닙니다. – skeggse