Python3: 요청 없는 JSON POST 요청 라이브러리
네이티브 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 서버입니다.난 항상...
urlib.error 입니다.HTTP 오류 500: 내부 서버 오류
동일한 URL을 가진 동일한 데이터와 동일한 서버가 요청 라이브러리와 Postman에서 작동하기 때문에 서버 문제는 아니라고 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"
}
언급URL : https://stackoverflow.com/questions/25491541/python3-json-post-request-without-requests-library
'programing' 카테고리의 다른 글
리액트 네이티브 모듈 테스트 방법 (0) | 2023.02.23 |
---|---|
ESLint - TypeScript용 "no-used-vars" 설정 (0) | 2023.02.23 |
네이티브 SQL 스크립트를 JPA/Hibernate에서 실행하려면 어떻게 해야 합니까? (0) | 2023.02.23 |
IE6의 JSON(IE7) (0) | 2023.02.23 |
JSONException: java.lang 형식의 값.문자열을 JSONObject로 변환할 수 없습니다. (0) | 2023.02.23 |