반응형
네이티브 Python 라이브러리 만 사용하여 JSON 인코딩 데이터를 서버로 보내고 싶습니다. 나는 요청을 좋아하지만 스크립트를 실행하는 컴퓨터에서 사용할 수 없기 때문에 단순히 사용할 수 없습니다. 나는 그것을없이해야합니다.
newConditions = {"con1":40, "con2":20, "con3":99, "con4":40, "password":"1234"}
params = urllib.parse.urlencode(newConditions)
params = params.encode('utf-8')
req = urllib.request.Request(conditionsSetURL, data=params)
urllib.request.urlopen(req)
내 서버는 로컬 WAMP 서버입니다. 나는 항상
urllib.error.HTTPError : HTTP 오류 500 : 내부 서버 오류
동일한 시스템에서 동일한 서버에서 동일한 URL을 사용하는 동일한 데이터가 요청과 함께 작동하므로 이것이 서버 문제가 아닌 100 % 입니다. 도서관과 우체부.
해결 방법
JSON을 게시하지 않고 application / x-www-form-urlencoded
요청을 게시하고 있습니다.
JSON으로 인코딩하고 올바른 헤더를 설정합니다.
import json
newConditions = {"con1":40, "con2":20, "con3":99, "con4":40, "password":"1234"}
params = json.dumps(newConditions).encode('utf8')
req = urllib.request.Request(conditionsSetURL, data=params,
headers={'content-type': 'application/json'})
response = urllib.request.urlopen(req)
데모:
>>> import json
>>> import urllib.request
>>> conditionsSetURL = 'http://httpbin.org/post'
>>> newConditions = {"con1":40, "con2":20, "con3":99, "con4":40, "password":"1234"}
>>> params = json.dumps(newConditions).encode('utf8')
>>> req = urllib.request.Request(conditionsSetURL, data=params,
... headers={'content-type': 'application/json'})
>>> response = urllib.request.urlopen(req)
>>> print(response.read().decode('utf8'))
{
"args": {},
"data": "{\"con4\": 40, \"con2\": 20, \"con1\": 40, \"password\": \"1234\", \"con3\": 99}",
"files": {},
"form": {},
"headers": {
"Accept-Encoding": "identity",
"Connection": "close",
"Content-Length": "68",
"Content-Type": "application/json",
"Host": "httpbin.org",
"User-Agent": "Python-urllib/3.4",
"X-Request-Id": "411fbb7c-1aa0-457e-95f9-1af15b77c2d8"
},
"json": {
"con1": 40,
"con2": 20,
"con3": 99,
"con4": 40,
"password": "1234"
},
"origin": "84.92.98.170",
"url": "http://httpbin.org/post"
}
참조 페이지 https://stackoverflow.com/questions/25491541
반응형
'파이썬' 카테고리의 다른 글
파이썬 Python을 사용하여 MySQL 데이터베이스에 INSERT 한 후 "id"를 어떻게 얻습니까? (0) | 2020.12.10 |
---|---|
파이썬 csv 파일을 읽을 때 혼합 유형. 원인, 수정 및 결과 (0) | 2020.12.10 |
파이썬 조인을 사용하는 Pandas의 vlookup (0) | 2020.12.09 |
파이썬 ipython 노트북에 인쇄되지 않음 (0) | 2020.12.09 |
파이썬 날짜 시간을 POSIX 시간으로 변환 (0) | 2020.12.09 |
댓글