Hướng dẫn how do you send a post request with a body in python? - làm thế nào để bạn gửi một yêu cầu bài đăng với một cơ thể trong python?

Bài đăng này thảo luận về hai phương thức yêu cầu HTTP (Supertext Transfer Transfer) & NBSP; Nhận và đăng các yêu cầu trong & nbsp; Python và việc triển khai của chúng trong Python.

HTTP là gì? HTTP là một tập hợp các giao thức được thiết kế để cho phép giao tiếp giữa máy khách và máy chủ. Nó hoạt động như một giao thức phản hồi yêu cầu giữa máy khách và máy chủ. Trình duyệt web có thể là máy khách và một ứng dụng trên máy tính lưu trữ trang web có thể là máy chủ.
HTTP is a set of protocols designed to enable communication between clients and servers. It works as a request-response protocol between a client and server.
A web browser may be the client, and an application on a computer that hosts a website may be the server.

Vì vậy, để yêu cầu phản hồi từ máy chủ, chủ yếu có hai phương pháp:

  1. Nhận: Để yêu cầu dữ liệu từ máy chủ. : to request data from the server.
  2. Đăng: Để gửi dữ liệu để được xử lý cho máy chủ. : to submit data to be processed to the server.

Dưới đây là một sơ đồ đơn giản giải thích khái niệm cơ bản về phương thức GET và POST. Bây giờ, để thực hiện các yêu cầu HTTP trong Python, chúng ta có thể sử dụng một số thư viện HTTP như:

Hướng dẫn how do you send a post request with a body in python? - làm thế nào để bạn gửi một yêu cầu bài đăng với một cơ thể trong python?

Now, to make HTTP requests in python, we can use several HTTP libraries like:

  • httplib
  • Urllib
  • yêu cầu

Thanh lịch và đơn giản nhất của các thư viện được liệt kê ở trên là các yêu cầu. Chúng tôi sẽ sử dụng thư viện yêu cầu trong bài viết này. Để tải xuống và cài đặt thư viện yêu cầu, hãy sử dụng lệnh sau:

pip install requests

Hoặc, tải xuống từ đây và cài đặt thủ công.

Đưa ra yêu cầu nhận

import requests

PARAMS = {'address':location}
0____11
PARAMS = {'address':location}
2

PARAMS = {'address':location}
3
PARAMS = {'address':location}
1
PARAMS = {'address':location}
5
PARAMS = {'address':location}
6
PARAMS = {'address':location}
7

PARAMS = {'address':location}
8
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
0____11
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
2
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
4

http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
5
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
7

Các

Các

Các

r = requests.post(url = API_ENDPOINT, data = data)
3
r = requests.post(url = API_ENDPOINT, data = data)
4
r = requests.post(url = API_ENDPOINT, data = data)
5

r = requests.post(url = API_ENDPOINT, data = data)
6
r = requests.post(url = API_ENDPOINT, data = data)
7
r = requests.post(url = API_ENDPOINT, data = data)
8

Hướng dẫn how do you send a post request with a body in python? - làm thế nào để bạn gửi một yêu cầu bài đăng với một cơ thể trong python?

Output:

Hướng dẫn how do you send a post request with a body in python? - làm thế nào để bạn gửi một yêu cầu bài đăng với một cơ thể trong python?

Ví dụ trên tìm thấy vĩ độ, kinh độ và địa chỉ được định dạng của một địa điểm nhất định bằng cách gửi yêu cầu nhận được API Google Maps. API (Giao diện lập trình ứng dụng) cho phép bạn truy cập các tính năng nội bộ của chương trình theo kiểu hạn chế. Và trong hầu hết các trường hợp, dữ liệu được cung cấp ở định dạng JSON (ký hiệu đối tượng JavaScript) (được triển khai dưới dạng các đối tượng từ điển trong Python!). Những điểm quan trọng để suy ra:

Important points to infer :

  • PARAMS = {'address':location}

    URL cho một yêu cầu GET thường mang một số tham số với nó. Đối với thư viện yêu cầu, các tham số có thể được định nghĩa là từ điển. Các tham số này sau đó được phân tích cú pháp và thêm vào URL cơ sở hoặc api-endPoint. Để hiểu vai trò tham số, hãy thử in R.URL sau khi đối tượng phản hồi được tạo. Bạn sẽ thấy một cái gì đó như thế này:
    To understand the parameters role, try to print r.url after the response object is created. You will see something like this:

    http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university

    Đây là url thực tế mà yêu cầu nhận được

  • r = requests.get(url = URL, params = PARAMS)

    Ở đây chúng tôi tạo một đối tượng phản hồi ‘R, sẽ lưu trữ phản hồi yêu cầu. Chúng tôi sử dụng phương thức Yêu cầu.get () vì chúng tôi đang gửi yêu cầu GET. Hai đối số chúng tôi vượt qua là URL và từ điển tham số.

  • data = r.json()

    Bây giờ, để truy xuất dữ liệu từ đối tượng phản hồi, chúng ta cần chuyển đổi nội dung phản hồi thô thành cấu trúc dữ liệu loại JSON. Điều này đạt được bằng cách sử dụng phương thức JSON (). Cuối cùng, chúng tôi trích xuất các thông tin cần thiết bằng cách phân tích đối tượng loại JSON.

Làm một yêu cầu bài đăng

import requests

PARAMS = {'address':location}
0____11
PARAMS = {'address':location}
2

pastebin_url = r.text
4
PARAMS = {'address':location}
1

PARAMS = {'address':location}
3
PARAMS = {'address':location}
1
PARAMS = {'address':location}
5
PARAMS = {'address':location}
6
PARAMS = {'address':location}
7

import1import2import3import4import5

import1import7import8

PARAMS = {'address':location}
8
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
0____11
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
2
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
4

http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
5
PARAMS = {'address':location}
1
http://maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
7

Các

r = requests.post(url = API_ENDPOINT, data = data)
3
r = requests.post(url = API_ENDPOINT, data = data)
4
PARAMS = {'address':location}
06
r = requests.post(url = API_ENDPOINT, data = data)
7
PARAMS = {'address':location}
08

Cácsource_code to pastebin.com by sending POST request to the PASTEBIN API.
First of all, you will need to generate an API key by signing up here and then access your API key here.

Các

  • data = {'api_dev_key':API_KEY,
            'api_option':'paste',
            'api_paste_code':source_code,
            'api_paste_format':'python'}

    Ví dụ trên tìm thấy vĩ độ, kinh độ và địa chỉ được định dạng của một địa điểm nhất định bằng cách gửi yêu cầu nhận được API Google Maps. API (Giao diện lập trình ứng dụng) cho phép bạn truy cập các tính năng nội bộ của chương trình theo kiểu hạn chế. Và trong hầu hết các trường hợp, dữ liệu được cung cấp ở định dạng JSON (ký hiệu đối tượng JavaScript) (được triển khai dưới dạng các đối tượng từ điển trong Python!). Những điểm quan trọng để suy ra:

  • r = requests.post(url = API_ENDPOINT, data = data)

    URL cho một yêu cầu GET thường mang một số tham số với nó. Đối với thư viện yêu cầu, các tham số có thể được định nghĩa là từ điển. Các tham số này sau đó được phân tích cú pháp và thêm vào URL cơ sở hoặc api-endPoint. Để hiểu vai trò tham số, hãy thử in R.URL sau khi đối tượng phản hồi được tạo. Bạn sẽ thấy một cái gì đó như thế này:

  • pastebin_url = r.text

    Đây là url thực tế mà yêu cầu nhận đượcsource_code which can be simply accessed by r.text .

Ở đây chúng tôi tạo một đối tượng phản hồi ‘R, sẽ lưu trữ phản hồi yêu cầu. Chúng tôi sử dụng phương thức Yêu cầu.get () vì chúng tôi đang gửi yêu cầu GET. Hai đối số chúng tôi vượt qua là URL và từ điển tham số.method could be used for many other tasks as well like filling and submitting the web forms, posting on your FB timeline using the Facebook Graph API, etc.

Bây giờ, để truy xuất dữ liệu từ đối tượng phản hồi, chúng ta cần chuyển đổi nội dung phản hồi thô thành cấu trúc dữ liệu loại JSON. Điều này đạt được bằng cách sử dụng phương thức JSON (). Cuối cùng, chúng tôi trích xuất các thông tin cần thiết bằng cách phân tích đối tượng loại JSON.

  • Làm một yêu cầu bài đăngaction URL as query string parameters. With POST, form data appears within the message body of the HTTP request.
  • Trong phương thức GET, dữ liệu tham số được giới hạn trong những gì chúng ta có thể nhét vào dòng yêu cầu (URL). An toàn nhất để sử dụng ít hơn 2K các tham số, một số máy chủ xử lý tối đa 64K.message body of the HTTP request, not the URL.
  • Chỉ các ký tự ASCII được phép gửi dữ liệu trong phương thức GET. Không có hạn chế nào như vậy trong phương thức bài.
  • Nhận ít an toàn hơn so với POST vì dữ liệu được gửi là một phần của URL. Vì vậy, không nên sử dụng phương thức khi gửi mật khẩu hoặc thông tin nhạy cảm khác.

Blog này được đóng góp bởi Nikhil Kumar. Nếu bạn thích GeekSforGeeks và muốn đóng góp, bạn cũng có thể viết một bài viết bằng Write.GeekSforGeek.org hoặc gửi bài viết của bạn. Xem bài viết của bạn xuất hiện trên trang chính của GeekSforGeek và giúp các chuyên viên máy tính khác.Nikhil Kumar. If you like GeeksforGeeks and would like to contribute, you can also write an article using write.geeksforgeeks.org or mail your article to . See your article appearing on the GeeksforGeeks main page and help other Geeks.

Vui lòng viết nhận xét nếu bạn tìm thấy bất cứ điều gì không chính xác, hoặc bạn muốn chia sẻ thêm thông tin về chủ đề được thảo luận ở trên.


Làm cách nào để gửi một cơ thể trong một yêu cầu bài đăng?

Định dạng của một bài đăng HTTP là có các tiêu đề HTTP, theo sau là một dòng trống, theo sau là thân yêu cầu. Các biến bài được lưu trữ dưới dạng các cặp giá trị khóa trong cơ thể. Bạn có thể thấy điều này bằng cách sử dụng một công cụ như Fiddler, bạn có thể sử dụng để xem yêu cầu HTTP và tải trọng phản hồi RAW được gửi qua dây.have the HTTP headers, followed by a blank line, followed by the request body. The POST variables are stored as key-value pairs in the body. You can see this using a tool like Fiddler, which you can use to watch the raw HTTP request and response payloads being sent across the wire.

Làm thế nào để bạn đăng các yêu cầu dữ liệu trong Python?

Phương thức Post () gửi một yêu cầu POST đến URL được chỉ định.Phương thức Post () được sử dụng khi bạn muốn gửi một số dữ liệu đến máy chủ.. The post() method is used when you want to send some data to the server.

Làm thế nào để Python yêu cầu đăng bài hoạt động?

Hiểu chức năng Python Requests Post Một yêu cầu bài HTTP được sử dụng để gửi dữ liệu đến máy chủ, nơi dữ liệu được chia sẻ thông qua phần thân của yêu cầu.Trong yêu cầu.Hàm Post (), dữ liệu được gửi với tham số dữ liệu, chấp nhận từ điển, danh sách các bộ dữ liệu, byte hoặc đối tượng tệp.An HTTP POST request is used to send data to a server, where data are shared via the body of a request. In the request. post() function, data are sent with the data parameter, which accepts a dictionary, a list of tuples, bytes or a file object.

Làm thế nào để bạn gửi một nội dung

Để gửi tiêu đề loại nội dung bằng Curl, bạn cần sử dụng tùy chọn dòng lệnh -H.Ví dụ: bạn có thể sử dụng tham số dòng lệnh -H "Nội dung: Ứng dụng/JSON" cho dữ liệu JSON.Dữ liệu được truyền đến Curl bằng tùy chọn dòng lệnh -D.Nó phải phù hợp với loại nội dung được cung cấp.use the -H command-line option. For example, you can use the -H "Content-Type: application/json" command-line parameter for JSON data. Data is passed to Curl using the -d command-line option. It must match the provided content type.