Saya menemukan skrip ini online:
import httplib, urllib
params = urllib.urlencode({'number': 12524, 'type': 'issue', 'action': 'show'})
headers = {"Content-type": "application/x-www-form-urlencoded",
"Accept": "text/plain"}
conn = httplib.HTTPConnection("bugs.python.org")
conn.request("POST", "", params, headers)
response = conn.getresponse()
print response.status, response.reason
302 Found
data = response.read()
data
'Redirecting to <a href="http://bugs.python.org/issue12524">http://bugs.python.org/issue12524</a>'
conn.close()
Tetapi saya tidak mengerti bagaimana menggunakannya dengan PHP atau apa saja yang ada di dalam variabel params atau bagaimana menggunakannya. Bisakah saya mendapatkan sedikit bantuan dengan mencoba membuatnya berfungsi?
live http header
addon firefox dan kemudian buka url Anda di firefox dan lihatrequest/response
url dalamlive http header
addon daripada Anda akan mengerti apa yangparams and headers
dilakukan dalam kode Anda.Jawaban:
Jika Anda benar-benar ingin menangani dengan HTTP menggunakan Python, saya sangat merekomendasikan Permintaan: HTTP untuk Manusia . QuickTart POST yang disesuaikan dengan pertanyaan Anda adalah:
sumber
json={'number': 12524...
alih-alihdata=...
Jika Anda membutuhkan skrip untuk menjadi portabel dan Anda lebih suka tidak memiliki dependensi pihak ke-3, ini adalah bagaimana Anda mengirim permintaan POST murni dalam Python 3.
Output sampel:
sumber
Anda tidak dapat mencapai permintaan POST menggunakan
urllib
(hanya untuk GET), daripada mencoba menggunakanrequests
modul, misalnya:Contoh 1.0:
Contoh 1.2:
Contoh 1.3:
sumber
Gunakan
requests
pustaka untuk DAPATKAN, POST, PUT atau HAPUS dengan menekan titik akhir REST API. Lewati sisa titik url api masukurl
, payload (dict) didata
dan header / metadata masukheaders
sumber
headers
parameter salah dan juga kita belum punya json di sini. Kita harus menggunakanjson.dumps(pauload)
Kamus data Anda berisi nama-nama bidang input formulir, Anda tetap pada nilai-nilainya untuk menemukan hasil. form view Header mengonfigurasikan browser untuk mengambil tipe data yang Anda nyatakan. Dengan perpustakaan permintaan, mudah mengirim POST:
Lebih lanjut tentang objek Permintaan: https://requests.readthedocs.io/en/master/api/
sumber
Jika Anda tidak ingin menggunakan modul yang harus Anda instal
requests
, dan use case Anda sangat mendasar, maka Anda dapat menggunakannyaurllib2
Lihat dokumentasi untuk di
urllib2
sini: https://docs.python.org/2/library/urllib2.html .sumber