[PYTHON] python : urllib2 urlopen 요청으로 쿠키를 보내는 방법
PYTHONpython : urllib2 urlopen 요청으로 쿠키를 보내는 방법
urllib2를 사용하여 URL을 열고 서버에 특정 쿠키 텍스트를 보내려고합니다. 예 : 사이트를 열려고합니다. 특정 쿠키와 함께 체스 문제를 해결합니다. 검색 = 1. 어떻게해야합니까?
나는 다음을 시도하고있다 :
import urllib2
(need to add cookie to the request somehow)
urllib2.urlopen("http://chess-problems.prg")
미리 감사드립니다.
해결법
-
==============================
1.쿠키는 또 다른 HTTP 헤더 일뿐입니다.
쿠키는 또 다른 HTTP 헤더 일뿐입니다.
import urllib2 opener = urllib2.build_opener() opener.addheaders.append(('Cookie', 'cookiename=cookievalue')) f = opener.open("http://example.com/")
요청에 HTTP 헤더를 추가하는 다른 방법은 urllib2 예제를 참조하십시오.
쿠키를 처리하는 방법에는 여러 가지가 있습니다. cookielib과 같은 일부 모듈은 웹 브라우저처럼 작동하려고합니다. 이전에 어떤 쿠키를 사용했는지 기억하고 다음 요청에서 자동으로 다시 보냅니다.
-
==============================
2.아마도 cookielib.CookieJar를 사용하면 도움이 될 수 있습니다. 예를 들어 양식이 포함 된 페이지에 게시하는 경우 :
아마도 cookielib.CookieJar를 사용하면 도움이 될 수 있습니다. 예를 들어 양식이 포함 된 페이지에 게시하는 경우 :
import urllib2 import urllib from cookielib import CookieJar cj = CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) # input-type values from the html form formdata = { "username" : username, "password": password, "form-id" : "1234" } data_encoded = urllib.urlencode(formdata) response = opener.open("https://page.com/login.php", data_encoded) content = response.read()
편집하다:
Piotr의 코멘트가 끝나면 조금 더 자세히 설명 할 것입니다. 문서에서 :
따라서 CookieJar 인스턴스로 어떤 요청을 하든지 모든 쿠키는 자동으로 처리됩니다. 당신의 브라우저와 비슷합니다 :)
내 경험으로 만 말할 수 있으며 99 % 쿠키 사용 사례는 쿠키를받은 다음 해당 세션의 모든 후속 요청과 함께 쿠키를 보내야합니다. 위의 코드는이를 처리하고 투명하게 처리합니다.
-
==============================
3.요청이라는 훌륭한 HTTP 파이썬 라이브러리를 살펴볼 수 있습니다. 그것은 urllib2보다 HTTP를 포함하는 모든 작업을 좀 더 쉽게 만듭니다. 퀵 스타트 가이드의 쿠키 섹션에서 :
요청이라는 훌륭한 HTTP 파이썬 라이브러리를 살펴볼 수 있습니다. 그것은 urllib2보다 HTTP를 포함하는 모든 작업을 좀 더 쉽게 만듭니다. 퀵 스타트 가이드의 쿠키 섹션에서 :
>>> cookies = dict(cookies_are='working') >>> r = requests.get('http://httpbin.org/cookies', cookies=cookies) >>> r.text '{"cookies": {"cookies_are": "working"}}'
-
==============================
4.cookielib을 사용하십시오. 링크 된 문서 페이지는 끝에 예제를 제공합니다. 여기에도 자습서가 있습니다.
cookielib을 사용하십시오. 링크 된 문서 페이지는 끝에 예제를 제공합니다. 여기에도 자습서가 있습니다.
from https://stackoverflow.com/questions/3334809/python-urllib2-how-to-send-cookie-with-urlopen-request by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 다중 처리로 전달 된 함수의 반환 값을 복구하는 방법은? (0) | 2018.10.09 |
---|---|
[PYTHON] 파이썬 목록에서 두 항목의 위치를 전환하는 방법은 무엇입니까? (0) | 2018.10.09 |
[PYTHON] 두 개의 정렬되지 않은 목록이 같은지 확인 [duplicate] (0) | 2018.10.09 |
[PYTHON] urllib2 유니 코드로 읽음 (0) | 2018.10.09 |
[PYTHON] Numpy를 사용하여 파생 상품을 계산하려면 어떻게해야합니까? (0) | 2018.10.09 |