Yêu cầu Python đăng dữ liệu biểu mẫu

Bài đăng này thảo luận về hai phương thức yêu cầu HTTP [Giao thức truyền siêu văn bản]  các yêu cầu GET và POST trong Python và cách triển khai 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 yêu cầu phản hồi giữa máy khách và máy chủ
Trình duyệt web có thể là ứng dụng khách và ứng dụng trên máy tính lưu trữ trang web có thể là máy chủ

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. ĐƯỢC. để yêu cầu dữ liệu từ máy chủ
  2. BƯU KIỆN. để gửi dữ liệu được xử lý đến máy chủ

Đây là 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ư.

  • httplib
  • urllib
  • yêu cầu

Thư viện thanh lịch và đơn giản nhất được liệt kê ở trên là 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

Thực hiện yêu cầu Nhận




# importing the requests library

import

PARAMS = {'address':location}
0

PARAMS = {'address':location}
1

PARAMS = {'address':location}
2

PARAMS = {'address':location}
3_______1_______4
PARAMS = {'address':location}
5

PARAMS = {'address':location}
1

PARAMS = {'address':location}
7

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

PARAMS = {'address':location}
1

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

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

PARAMS = {'address':location}
1

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

r = requests.get[url = URL, params = PARAMS]
0_______1_______4
r = requests.get[url = URL, params = PARAMS]
2
PARAMS = {'address':location}
4
r = requests.get[url = URL, params = PARAMS]
4
PARAMS = {'address':location}
4
r = requests.get[url = URL, params = PARAMS]
6

PARAMS = {'address':location}
1

r = requests.get[url = URL, params = PARAMS]
8

r = requests.get[url = URL, params = PARAMS]
9_______1_______4
data = r.json[]
1

PARAMS = {'address':location}
1

PARAMS = {'address':location}
1

data = r.json[]
4

data = r.json[]
5

data = r.json[]
6_______1_______4
data = r.json[]
8
data = r.json[]
9
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
1
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
3
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
5
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
7
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
8

data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
9_______1_______4
data = r.json[]
8
data = r.json[]
9
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
1
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
3
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
5
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
pastebin_url = r.text
0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
8

pastebin_url = r.text
2_______1_______4
data = r.json[]
8
data = r.json[]
9_______41_______0
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
1
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
0
pastebin_url = r.text
9
data = {'api_dev_key':API_KEY,
        'api_option':'paste',
        'api_paste_code':source_code,
        'api_paste_format':'python'}
8

PARAMS = {'address':location}
1

# importing the requests library2

# importing the requests library3____132_______4# importing the requests library5

# importing the requests library6_______132_______7# importing the requests library8

đầu ra

Ví dụ trên tìm vĩ độ, kinh độ và địa chỉ được định dạng của một vị trí nhất định bằng cách gửi yêu cầu GET tới 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 cách 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 đối tượng từ điển trong Python. ]

Điểm quan trọng để suy luận

  • PARAMS = {'address':location}

    URL cho yêu cầu GET thường mang theo một số tham số. Đối với thư viện yêu cầu, các tham số có thể được định nghĩa như một 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 điểm cuối api
    Để 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

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

    Đây là URL thực mà yêu cầu GET được thực hiện

  • 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 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 truyền vào là url và từ điển tham số

  • data = r.json[]

    Bây giờ, để lấy 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 kiểu 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 thông tin cần thiết bằng cách phân tích đối tượng kiểu JSON

Thực hiện một yêu cầu POST




# importing the requests library

import

PARAMS = {'address':location}
0

PARAMS = {'address':location}
1

import3

import4

PARAMS = {'address':location}
4 import6

PARAMS = {'address':location}
1

import8

import9______1_______4

PARAMS = {'address':location}
01

PARAMS = {'address':location}
1

PARAMS = {'address':location}
03

PARAMS = {'address':location}
04______1_______4
PARAMS = {'address':location}
06

PARAMS = {'address':location}
07

PARAMS = {'address':location}
08

PARAMS = {'address':location}
09

PARAMS = {'address':location}
10

PARAMS = {'address':location}
06

PARAMS = {'address':location}
1

PARAMS = {'address':location}
13

r = requests.get[url = URL, params = PARAMS]
9_______1_______4
//maps.googleapis.com/maps/api/geocode/json?address=delhi+technological+university
5
PARAMS = {'address':location}
17_______1_______18

PARAMS = {'address':location}
19_______1_______20
PARAMS = {'address':location}
21
PARAMS = {'address':location}
22
PARAMS = {'address':location}
23

PARAMS = {'address':location}
19_______1_______25
PARAMS = {'address':location}
26

PARAMS = {'address':location}
19_______1_______28
PARAMS = {'address':location}
21
PARAMS = {'address':location}
30
PARAMS = {'address':location}
31

PARAMS = {'address':location}
1

PARAMS = {'address':location}
33

r = requests.get[url = URL, params = PARAMS]
0_______1_______4
PARAMS = {'address':location}
36
PARAMS = {'address':location}
4
PARAMS = {'address':location}
38
PARAMS = {'address':location}
4
PARAMS = {'address':location}
40

PARAMS = {'address':location}
1

PARAMS = {'address':location}
42

PARAMS = {'address':location}
43
PARAMS = {'address':location}
4
PARAMS = {'address':location}
45

# importing the requests library3# importing the requests library4

PARAMS = {'address':location}
48# importing the requests library7
PARAMS = {'address':location}
50

Ví dụ này giải thích cách dán source_code của bạn vào pastebin. com bằng cách gửi yêu cầu POST tới PASTEBIN API
Trước hết, bạn sẽ cần tạo khóa API bằng cách đăng ký tại đây và sau đó truy cập vào

Các tính năng quan trọng của mã này

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

    Ở đây một lần nữa, chúng ta sẽ cần chuyển một số dữ liệu đến máy chủ API. Chúng tôi lưu trữ dữ liệu này dưới dạng từ điển

  • r = requests.post[url = API_ENDPOINT, data = data]

    Ở đâ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 yêu cầu. post[] vì chúng tôi đang gửi yêu cầu POST. Hai đối số chúng tôi truyền vào là url và từ điển dữ liệu

  • pastebin_url = r.text

    Đáp lại, máy chủ xử lý dữ liệu được gửi tới nó và gửi URL pastebin của source_code của bạn, URL này có thể được truy cập đơn giản bởi r. chữ

yêu cầu. phương thức đăng có thể được sử dụng cho nhiều tác vụ khác cũng như điền và gửi biểu mẫu web, đăng lên dòng thời gian FB của bạn bằng Facebook Graph API, v.v.

Dưới đây là một số điểm quan trọng để suy ngẫm

  • Khi phương thức là GET, tất cả dữ liệu biểu mẫu được mã hóa vào URL, được thêm vào URL hành động dưới dạng tham số chuỗi truy vấn. Với POST, dữ liệu biểu mẫu xuất hiện trong nội dung thư của yêu cầu HTTP
  • Trong phương thức GET, dữ liệu tham số được giới hạn ở những gì chúng ta có thể đưa vào dòng yêu cầu [URL]. An toàn nhất khi sử dụng ít hơn 2K tham số, một số máy chủ xử lý tới 64K. Không có vấn đề như vậy trong phương thức POST vì chúng tôi gửi dữ liệu trong nội dung thư của yêu cầu HTTP, không phải 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ế như vậy trong phương thức POST
  • GET kém 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 GET 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 báo bằng cách sử dụng write. chuyên viên máy tính. org hoặc gửi bài viết của bạn tới review-team@geeksforgeeks. tổ chức. Xem bài viết của bạn xuất hiện trên trang chính của GeeksforGeeks và trợ giúp các Geeks khác

Vui lòng viết bình luận nếu bạn 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ủ đề thảo luận ở trên

Làm cách nào để gửi dữ liệu trong yêu cầu POST Python?

Để gửi yêu cầu POST bằng Thư viện yêu cầu Python, bạn nên gọi yêu cầu. post[] và chuyển URL mục tiêu làm tham số đầu tiên và dữ liệu POST với tham số data= .

Làm cách nào để lấy dữ liệu JSON từ yêu cầu POST trong Python?

Để yêu cầu dữ liệu JSON từ máy chủ bằng thư viện Yêu cầu Python, hãy gọi yêu cầu. get[] và chuyển URL đích làm tham số đầu tiên. Thư viện yêu cầu Python có bộ giải mã JSON tích hợp và tự động chuyển đổi chuỗi JSON thành từ điển Python

Làm cách nào để đăng dữ liệu lên URL bằng Python?

Phương thức post[] gửi yêu cầu POST tới url đã 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ủ.

Chủ Đề