[PYTHON] python urllib2를 사용하여 로그인 용 json 데이터를 보내는 방법
PYTHONpython urllib2를 사용하여 로그인 용 json 데이터를 보내는 방법
파이썬 urllib2를 사용하여 로그인 동작을 시뮬레이트하고 싶습니다. 피들러를 사용하여 패킷을 잡아 내고 로그인 작업은 그냥 아약스 요청이며 사용자 이름과 암호는 json 데이터로 전송되지만, urllib2를 사용하는 방법을 모릅니다. json 데이터를 보내려면 ...
해결법
-
==============================
1.
import urllib2 import json # Whatever structure you need to send goes here: jdata = json.dumps({"username":"...", "password":"..."}) urllib2.urlopen("http://www.example.com/", jdata)
여기서는 HTTP POST를 사용하여 사용자 이름과 암호로 간단한 json 객체를 전송한다고 가정합니다.
-
==============================
2.다음 사항에 유의하십시오.
다음 사항에 유의하십시오.
-
==============================
3.요청시 데이터를 지정할 수 있습니다.
요청시 데이터를 지정할 수 있습니다.
import urllib import urllib2 url = 'http://example.com/login' values = YOUR_CREDENTIALS_JSON data = urllib.urlencode(values) req = urllib2.Request(url, data) response = urllib2.urlopen(req) the_page = response.read()
-
==============================
4.이것을 달성하기 위해 '요청'파이썬 라이브러리를 사용할 수 있습니다 :
이것을 달성하기 위해 '요청'파이썬 라이브러리를 사용할 수 있습니다 :
http://docs.python-requests.org/en/latest/index.html
다음 예제를보실 수 있습니다 :
http://docs.python-requests.org/ko/latest/user/quickstart/#more-complicated-post-requests (보다 복잡한 POST 요청)
>>> import requests >>> payload = {'key1': 'value1', 'key2': 'value2'} >>> r = requests.post("http://httpbin.org/post", data=payload)
urlencoded 데이터 대신 JSON을 보내려고하면 파이썬이 좋은 헤더를 설정하지 않는 것 같습니다.
from https://stackoverflow.com/questions/4348061/how-to-use-python-urllib2-to-send-json-data-for-login by cc-by-sa and MIT license
'PYTHON' 카테고리의 다른 글
[PYTHON] 유닛 테스트로 인해 sys.exit ()가 발생했습니다. (0) | 2018.11.08 |
---|---|
[PYTHON] 클래스의 모든 메서드를 래핑하는 방법? (0) | 2018.11.08 |
[PYTHON] BeautifulSoup - HTML 조각에있는 모든 링크를 수정합니까? (0) | 2018.11.08 |
[PYTHON] 이진 분류 용 TensorFlow (0) | 2018.11.08 |
[PYTHON] Django ModelForm과 함께 request.user 사용하기 (0) | 2018.11.08 |