import requests
request.post(url, data, json, kwargs) # post请求格式 request.get(url, params, kwargs) # 对比get请求
form(x-www-form-urlencoded)
으로 나뉩니다. (application/json)
data 매개변수는 사전 형식과 문자열 형식을 지원합니다. 사전 형식에서는 json.dumps() 메서드를 사용하여 데이터를 합법적인 json 형식 문자열로 변환해야 합니다.
import json json.dumps(data) # data转换成json格式
또는 데이터 매개변수를 변경하세요. post 메서드에 할당된 json 매개변수는 올바른 json 형식이어야 합니다. 그렇지 않으면 부울 값이 있는 경우 소문자여야 하며 유니코드가 아닌 문자를 포함할 수 없습니다.
import requests url = "https://editor.net/" data = {"key": "value"} # 字典 外层无引号 resp = requests.post(url,data=data) print(resp.text)
import requests url = "https://editor.net/" data = '{"key": "value"}' # 字符串格式 resp = requests.post(url, data=data) print(resp.text)
(1) json.dumps() 메서드 변환
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, data=json.dumps(data)) print(resp.text)
(2) 사전 형식의 데이터를 post 메소드의 json 매개변수에 할당
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, json=data) print(resp.text)
최근에 Requests를 사용하여 자동으로 데이터를 보내는 작은 프로그램을 만들고 있습니다. Requests 라이브러리입니다. 사용중 게시물 데이터 인코딩에 문제가 있어서 많은 정보를 검색해서 해결했습니다.
보통 dict 데이터를 게시할 때 요청은 dict의 데이터를 urlencode한 다음 보냅니다.
하지만 그가 사용한 urlencode는 기본적으로 UTF-8 인코딩이라는 것을 알았습니다. 내 웹사이트 프로그램이 gb2312 urlencode만 지원한다면 어떻게 될까요?
인코딩을 위해 urllib에 urllib.parse.urlencode를 도입할 수 있습니다.
from urllib.parse import urlencode import requests session.post('http://www.bac-domm.com', data=urlencode({'val':'中国人民'}, encoding='gb2312'), headers = head_content)
때때로 데이터가 Urlencode되는 것을 원하지 않는 경우 어떻게 해야 합니까?
글 데이터에서 문자열로 연결하면 됩니다. 물론 스플라이싱할 때 문자열 인코딩에 주의해야 합니다. 예를 들어 중국어가 포함된 경우 인코딩을 utf-8 또는 gb2312
vld = 'val:中国人民' session.post('http://www.bac-domm.com', data=vld.encode('utf-8'), headers = head_content)로 설정해야 합니다.
위 내용은 Python 요청 게시물을 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!