Nội dung
- Giới thiệu
- Ví dụ 1: Gửi yêu cầu đặt http
- Về http đặt yêu cầu
- Sự khác biệt giữa bài và đặt
- Bản tóm tắt
Python - Gửi yêu cầu đặt http
Yêu cầu đặt HTTP được sử dụng để tạo hoặc cập nhật tài nguyên trong một máy chủ được chỉ định, giống như bài đăng của HTTP, nhưng đặt yêu cầu là idempotent.
Trong thư viện Python Yêu cầu, phương thức requests.put [] được sử dụng để gửi yêu cầu đặt đến máy chủ qua HTTP. Bạn cũng có thể gửi dữ liệu bổ sung trong yêu cầu đặt bằng tham số
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
6.Ví dụ 1: Gửi yêu cầu đặt http
Trong ví dụ này, chúng tôi sẽ gửi yêu cầu đặt HTTP đến máy chủ tại
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
7. Chúng tôi cũng sẽ gửi dữ liệu trong yêu cầu đặt.Chương trình Python
import requests
response = requests.put['//pythonexamples.org/', data = {'key':'value'}]
Chạy
requests.put [] Trả về một đối tượng phản hồi. Nó chứa tất cả các dữ liệu và thuộc tính như nội dung phản hồi, tiêu đề, mã hóa, cookie, v.v. Hãy để chúng tôi in ra các tiêu đề.
Chương trình Python
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
Chạy
requests.put [] Trả về một đối tượng phản hồi. Nó chứa tất cả các dữ liệu và thuộc tính như nội dung phản hồi, tiêu đề, mã hóa, cookie, v.v. Hãy để chúng tôi in ra các tiêu đề.
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
Về http đặt yêu cầu
Sự khác biệt giữa bài và đặt
- Bản tóm tắt
- Python - Gửi yêu cầu đặt http
- Yêu cầu đặt HTTP được sử dụng để tạo hoặc cập nhật tài nguyên trong một máy chủ được chỉ định, giống như bài đăng của HTTP, nhưng đặt yêu cầu là idempotent.
- Trong thư viện Python Yêu cầu, phương thức requests.put [] được sử dụng để gửi yêu cầu đặt đến máy chủ qua HTTP. Bạn cũng có thể gửi dữ liệu bổ sung trong yêu cầu đặt bằng tham số
6.import requests response = requests.put['//pythonexamples.org/', data = {'key1':'value1', 'key2':'value2'}] print[response.headers]
Sự khác biệt giữa bài và đặt
Bản tóm tắt
Bản tóm tắt
Python - Gửi yêu cầu đặt http
Yêu cầu đặt HTTP được sử dụng để tạo hoặc cập nhật tài nguyên trong một máy chủ được chỉ định, giống như bài đăng của HTTP, nhưng đặt yêu cầu là idempotent.
- Trong thư viện Python Yêu cầu, phương thức requests.put [] được sử dụng để gửi yêu cầu đặt đến máy chủ qua HTTP. Bạn cũng có thể gửi dữ liệu bổ sung trong yêu cầu đặt bằng tham số
6.import requests response = requests.put['//pythonexamples.org/', data = {'key1':'value1', 'key2':'value2'}] print[response.headers]
- Ví dụ 1: Gửi yêu cầu đặt http
- Trong ví dụ này, chúng tôi sẽ gửi yêu cầu đặt HTTP đến máy chủ tại
7. Chúng tôi cũng sẽ gửi dữ liệu trong yêu cầu đặt.import requests response = requests.put['//pythonexamples.org/', data = {'key1':'value1', 'key2':'value2'}] print[response.headers]
- Chương trình Python
- Chạy
- requests.put [] Trả về một đối tượng phản hồi. Nó chứa tất cả các dữ liệu và thuộc tính như nội dung phản hồi, tiêu đề, mã hóa, cookie, v.v. Hãy để chúng tôi in ra các tiêu đề.
- Đầu ra
- Sau đây là một số điểm mà bạn nên ghi nhớ khi làm việc yêu cầu đặt http http.
227
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi cần tải một số dữ liệu lên máy chủ bằng HTTP
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
8 trong Python. Từ việc đọc ngắn gọn của tôi về các tài liệu Urllib2, nó chỉ làm http import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
9. Có cách nào để thực hiện một HTTP import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
8 trong Python không?
Đã hỏi ngày 21 tháng 9 năm 2008 lúc 20:11Sep 21, 2008 at 20:11
AmandasaurusamandasaurusAmandasaurus
55,7K70 Huy hiệu vàng185 Huy hiệu bạc239 Huy hiệu Đồng70 gold badges185 silver badges239 bronze badges
0
Tôi đã sử dụng nhiều loại HTTP Python HTTP trong quá khứ và tôi đã giải quyết các yêu cầu là yêu thích của tôi. Các LIB hiện tại có các giao diện khá có thể sử dụng, nhưng mã cuối cùng có thể là một vài dòng quá dài cho các hoạt động đơn giản. Một yêu cầu cơ bản trong các yêu cầu trông giống như:
payload = {'username': 'bob', 'email': ''}
>>> r = requests.put["//somedomain.org/endpoint", data=payload]
Sau đó, bạn có thể kiểm tra mã trạng thái phản hồi bằng:
r.status_code
hoặc phản hồi với:
r.content
Yêu cầu có rất nhiều đường và các phím tắt sẽ giúp cuộc sống của bạn dễ dàng hơn.
Đã trả lời ngày 24 tháng 11 năm 2011 lúc 15:54Nov 24, 2011 at 15:54
10
import urllib2
opener = urllib2.build_opener[urllib2.HTTPHandler]
request = urllib2.Request['//example.org', data='your_put_data']
request.add_header['Content-Type', 'your/contenttype']
request.get_method = lambda: 'PUT'
url = opener.open[request]
Đã trả lời ngày 21 tháng 9 năm 2008 lúc 20:24Sep 21, 2008 at 20:24
Florian Böschflorian BöschFlorian Bösch
27.1k11 Huy hiệu vàng48 Huy hiệu bạc53 Huy hiệu Đồng11 gold badges48 silver badges53 bronze badges
10
Httplib có vẻ như là một lựa chọn sạch hơn.
import httplib
connection = httplib.HTTPConnection['1.2.3.4:1234']
body_content = 'BODY CONTENT GOES HERE'
connection.request['PUT', '/url/path/to/put/to', body_content]
result = connection.getresponse[]
# Now result.status and result.reason contains interesting stuff
Đã trả lời ngày 12 tháng 10 năm 2010 lúc 22:13Oct 12, 2010 at 22:13
SpoolesspoolesSpooles
7856 Huy hiệu bạc16 Huy hiệu đồng6 silver badges16 bronze badges
5
Bạn có thể sử dụng thư viện yêu cầu, nó đơn giản hóa mọi thứ rất nhiều so với cách tiếp cận Urllib2. Lần đầu tiên cài đặt nó từ PIP:
pip install requests
Thêm về cài đặt yêu cầu.
Sau đó thiết lập yêu cầu đặt:
import requests
import json
url = '//api.github.com/some/endpoint'
payload = {'some': 'data'}
# Create your header as required
headers = {"content-type": "application/json", "Authorization": "" }
r = requests.put[url, data=json.dumps[payload], headers=headers]
Xem QuickStart cho Thư viện Yêu cầu. Tôi nghĩ rằng điều này đơn giản hơn rất nhiều so với Urllib2 nhưng yêu cầu gói bổ sung này phải được cài đặt và nhập.
Đã trả lời ngày 25 tháng 9 năm 2014 lúc 18:08Sep 25, 2014 at 18:08
Radtekradtekradtek
32.3k11 Huy hiệu vàng138 Huy hiệu bạc109 Huy hiệu đồng11 gold badges138 silver badges109 bronze badges
3
Điều này đã được làm tốt hơn trong Python3 và được ghi lại trong tài liệu STDLIB
Lớp
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
1 đã đạt được tham số {'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
2 trong Python3.Một số sử dụng mẫu:
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
0Đã trả lời ngày 8 tháng 1 năm 2018 lúc 3:56Jan 8, 2018 at 3:56
Anthony Sottileanthony SottileAnthony Sottile
53,8K12 Huy hiệu vàng123 Huy hiệu bạc175 Huy hiệu đồng12 gold badges123 silver badges175 bronze badges
Bạn nên có một cái nhìn vào mô -đun HTTPLIB. Nó sẽ cho phép bạn thực hiện bất kỳ loại yêu cầu HTTP nào bạn muốn.
Đã trả lời ngày 21 tháng 9 năm 2008 lúc 20:18Sep 21, 2008 at 20:18
John Montgomeryjohn MontgomeryJohn Montgomery
8,5984 Huy hiệu vàng33 Huy hiệu bạc42 Huy hiệu đồng4 gold badges33 silver badges42 bronze badges
1
Tôi cần phải giải quyết vấn đề này một thời gian để tôi có thể đóng vai trò là khách hàng cho một API yên tĩnh. Tôi đã giải quyết trên httplib2 vì nó cho phép tôi gửi và xóa ngoài ra để nhận và đăng. Httplib2 không phải là một phần của thư viện tiêu chuẩn nhưng bạn có thể dễ dàng lấy nó từ cửa hàng phô mai.
Đã trả lời ngày 22 tháng 9 năm 2008 lúc 12:46Sep 22, 2008 at 12:46
MikemikeMike
3.5933 huy hiệu vàng20 Huy hiệu bạc12 Huy hiệu đồng3 gold badges20 silver badges12 bronze badges
1
Tôi cũng giới thiệu httplib2 của Joe Gregario. Tôi sử dụng điều này thường xuyên thay vì httplib trong lib tiêu chuẩn.
jbochi
28.3K16 Huy hiệu vàng71 Huy hiệu bạc90 Huy hiệu Đồng16 gold badges71 silver badges90 bronze badges
Đã trả lời ngày 22 tháng 9 năm 2008 lúc 17:05Sep 22, 2008 at 17:05
Corey Goldbergcorey GoldbergCorey Goldberg
57.2K27 Huy hiệu vàng123 Huy hiệu bạc141 Huy hiệu đồng27 gold badges123 silver badges141 bronze badges
Bạn đã nhìn vào put.py chưa? Tôi đã sử dụng nó trong quá khứ. Bạn cũng có thể hack yêu cầu của riêng bạn với Urllib.
Đã trả lời ngày 21 tháng 9 năm 2008 lúc 20:12Sep 21, 2008 at 20:12
William Kellerwilliam KellerWilliam Keller
5.2281 Huy hiệu vàng25 Huy hiệu bạc22 Huy hiệu đồng1 gold badge25 silver badges22 bronze badges
4
Tất nhiên bạn có thể tự cuộn với các thư viện tiêu chuẩn hiện có ở bất kỳ cấp độ nào từ ổ cắm cho đến điều chỉnh urllib.
//pycurl.sourceforge.net/
"Pycurl là giao diện Python cho libcurl."
"LibCurl là một thư viện chuyển URL phía máy khách miễn phí và dễ sử dụng, ... hỗ trợ ... HTTP Put"
"Hạn chế chính với pycurl là nó là một lớp mỏng tương đối so với libcurl mà không có bất kỳ hệ thống phân cấp lớp pythonic đẹp nào. Điều này có nghĩa là nó có một đường cong học tập hơi dốc trừ khi bạn đã quen thuộc với API C của Libcurl."
Đã trả lời ngày 21 tháng 9 năm 2008 lúc 20:17Sep 21, 2008 at 20:17
wnoisewnoisewnoise
9.61937 Huy hiệu bạc47 Huy hiệu đồng37 silver badges47 bronze badges
1
Nếu bạn muốn ở trong thư viện tiêu chuẩn, bạn có thể phân lớp
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
3:import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
1Đã trả lời ngày 27 tháng 6 năm 2017 lúc 13:19Jun 27, 2017 at 13:19
Wilfred Hugheswilfred HughesWilfred Hughes
28.5K14 Huy hiệu vàng134 Huy hiệu bạc184 Huy hiệu đồng14 gold badges134 silver badges184 bronze badges
Bạn có thể sử dụng
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
4import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
2Đã trả lời ngày 26 tháng 2 năm 2021 lúc 8:01Feb 26, 2021 at 8:01
SupernovasupernovaSuperNova
23.2K6 Huy hiệu vàng88 Huy hiệu bạc60 Huy hiệu Đồng6 gold badges88 silver badges60 bronze badges
Một cách đúng hơn để làm điều này với
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
5 sẽ là:import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
3Điều này làm tăng một ngoại lệ nếu có lỗi trong yêu cầu đặt HTTP.
Đã trả lời ngày 19 tháng 12 năm 2019 lúc 23:17Dec 19, 2019 at 23:17
Adam Ericksonadam EricksonAdam Erickson
5.6691 Huy hiệu vàng44 Huy hiệu bạc33 Huy hiệu đồng1 gold badge44 silver badges33 bronze badges
Sử dụng {'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
6
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
Để làm điều đó, bạn sẽ cần phải mã hóa thủ công các tham số truy vấn trong URL.
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
4Sử dụng {'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
5
{'Date': 'Mon, 25 Mar 2019 14:00:23 GMT', 'Content-Type': 'text/html; charset=UTF-8', 'Content-Length': '12140', 'Connection': 'keep-alive', 'Keep-Alive': 'timeout=30', 'Server': 'Apache/2', 'X-Powered-By': 'PHP/A.A.AA', 'Link': '; rel="//api.w.org/", ; rel=shortlink', 'Vary': 'Accept-Encoding', 'Content-Encoding': 'gzip', 'Referrer-Policy': 'no-referrer-when-downgrade'}
import requests
response = requests.put['//pythonexamples.org/',
data = {'key1':'value1', 'key2':'value2'}]
print[response.headers]
5Đã trả lời ngày 2 tháng 8 năm 2020 lúc 18:49Aug 2, 2020 at 18:49
Ransaka Raviharararansaka RaviharaRansaka Ravihara
1.5461 Huy hiệu vàng11 Huy hiệu bạc27 Huy hiệu đồng1 gold badge11 silver badges27 bronze badges