How to use python requests post
Python simulates the browser to send a post request
import requests
Format request.post
request.post(url, data, json, kwargs) # post请求格式 request.get(url, params, kwargs) # 对比get请求
Sending a post request and passing parameters are divided into
Form (x-www-form-urlencoded)
json (application/json)
data Parameters support dictionary format and string format. In dictionary format, use the json.dumps() method to convert data into a legal json format string. This method requires importing the json module;
import json json.dumps(data) # data转换成json格式
or assigning the data parameter to the post method. The json parameter must be in a legal json format, otherwise it will be useless. If there is a Boolean value, it must be lowercase and cannot have non-Unicode characters.
Form post request (x-www-form-urlencoded)
import requests url = "https://editor.net/" data = {"key": "value"} # 字典 外层无引号 resp = requests.post(url,data=data) print(resp.text)
json type post request
import requests url = "https://editor.net/" data = '{"key": "value"}' # 字符串格式 resp = requests.post(url, data=data) print(resp.text)
Use dictionary format to fill in parameters and convert to json when passing Format
(1) json.dumps() method conversion
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, data=json.dumps(data)) print(resp.text)
(2) Assign data in dictionary format to the json parameter of the post method
import requests import json url = "https://editor.net/" data = {"key": "value"} resp = requests.post(url, json=data) print(resp.text)
python requests post Solving several problems with data
Recently I am using Requests to make a small program that automatically sends data. I am using the Requests library. During the use, I have some problems with the encoding of post data and I have to find a lot of information. Finally solved.
The problem of urlencoding of post data
When we usually post a dict data, requests will urlencode the data in the dict and then send it.
But I found that the urlencode he used is UTF-8 encoding by default. What if my website program only supports gb2312 urlencode?
You can introduce urllib.parse.urlencode in urllib for encoding.
from urllib.parse import urlencode import requests session.post('http://www.bac-domm.com', data=urlencode({'val':'中国人民'}, encoding='gb2312'), headers = head_content)
Avoiding the problem of data being urlencoded
Sometimes we don’t want the data to be urlencoded, what should we do?
Just concatenate it into a string in the post data. Of course, you should pay attention to the encoding of the string when splicing. For example, if it contains Chinese, you should set the encoding to utf-8 or gb2312.
vld = 'val:中国人民' session.post('http://www.bac-domm.com', data=vld.encode('utf-8'), headers = head_content)
The above is the detailed content of How to use python requests post. For more information, please follow other related articles on the PHP Chinese website!

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics

Regarding the problem of removing the Python interpreter that comes with Linux systems, many Linux distributions will preinstall the Python interpreter when installed, and it does not use the package manager...

Pylance type detection problem solution when using custom decorator In Python programming, decorator is a powerful tool that can be used to add rows...

About Pythonasyncio...

Using python in Linux terminal...

Loading pickle file in Python 3.6 environment error: ModuleNotFoundError:Nomodulenamed...

Compatibility issues between Python asynchronous libraries In Python, asynchronous programming has become the process of high concurrency and I/O...

Error loading Pickle file in Python 3.6 environment: ModuleNotFoundError:Nomodulenamed...

The problem and solution of the child process continuing to run when using signals to kill the parent process. In Python programming, after killing the parent process through signals, the child process still...
