Bagaimana menerapkan POST, GET, dan DELETE sederhana dengan python

Versi singkat: Bisakah saya menggunakan modul Permintaan untuk POST, GET, dan DELETE?

Saya mencoba menggunakan REST API Pinterest. (Penjelajah API Pinterest)

Saya menggunakan rute sederhana dan secara manual mendapatkan token autentikasi saya melalui oauth, jadi pada dasarnya yang perlu saya ketahui caranya hanyalah POST, GET, dan DELETE ke URL tertentu dan juga menyertakan parameternya, lalu mengembalikan json.

Saya benar-benar hanya membutuhkan tiga fungsi API, daftar pengikut pengguna yang berwenang (GET), ikuti pengguna (POST), dan berhenti mengikuti pengguna (DELETE). Satu-satunya parameter yang saya perlukan untuk semua itu adalah access_token yang saya dapatkan secara manual.

Sepertinya masalah sederhana, tetapi ada sekitar 5 pembungkus API python Pinterest, tidak ada satupun yang lengkap, beberapa di antaranya tidak berfungsi sama sekali. Saya telah melihat modul pycurl, httplib, dan permintaan. Mereka semua sepertinya mempunyai metode yang cukup sederhana untuk GET, tetapi menjadi lebih rumit dengan POST dan mungkin DELETE. Sepertinya ini harusnya super sederhana, fungsi yang menggunakan metode (POST/GET/DELETE/etc), url, dan sekumpulan parameter, jadi mengapa lebih rumit dari itu? Jika semudah itu, saya tidak mengerti mengapa semua pembungkus API ini setengah selesai karena secara teori seharusnya sesederhana memanggil fungsi dengan 3 parameter tersebut (dengan array untuk parameter ke-3) untuk setiap fungsi di API .

Dalam paket Requests python, ada fungsi ini di bawah kelas RequestMethods: def request(self, method, url, field=None, headers=None, **urlopen_kw)

Sepertinya saya memahami semuanya kecuali apa itu header dan **urlopen_kw, tapi menurut saya ini akan berfungsi tanpa variabel tersebut, bukan?

Saya akan sangat menghargai jika seseorang dapat mengarahkan saya ke arah yang benar.


person Lightja    schedule 27.10.2016    source sumber
comment
Jawaban untuk versi singkat: Ya.   -  person Klaus D.    schedule 27.10.2016


Jawaban (1)


Dari dokumen:

Berikut ini contoh melakukan request PUT menggunakan Request:

import urllib.request
DATA = b'some data'
req = urllib.request.Request(url='http://localhost:8080', data=DATA,method='PUT')
with urllib.request.urlopen(req) as f:
    pass
print(f.status)
print(f.reason)

Dalam kasus Anda, metodenya adalah 'POST', 'Delete' atau apa pun yang Anda suka.

Jika Anda ingin membuat permintaan yang lebih kompleks, lihat panduan ini untuk mengetahui Pustaka https://pypi.python.org/pypi/httplib2 - layak dibaca.

person Maurice    schedule 27.10.2016