POST Request
For the most part, HTTP POST requests are used to update existing resources on a server. You will be making a request to a service and passing along a POST payload, which the server then uses to denote the update resource or hold the content to be updated.
In PHP, we can use cURL to issue a POST request:
<?php $url = 'http://www.example.com/request.php'; $postvals = 'firstName=John&lastName=Smith'; $ch = curl_init($url); $options = array( CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_URL => $url, CURLOPT_POST => 1, CURLOPT_POSTFIELDS => $postvals, CURLOPT_RETURNTRANSFER => 1 ); curl_setopt_array($ch, $options); $response = curl_exec($ch); curl_close($ch); ?>
As with the GET request, we are making the call to a specified
URL, but this time we are creating a POST string that we will send. In
addition to the cURL options from the GET request, we use CURLOPT_CUSTOMREQUEST
and CURLOPT_POST
to state that we want to make a
POST request and CURLOPT_POSTFIELDS
to attach the data to send in the POST.
In Python, we can once again use urllib
for the POST request:
import urllib url = 'http://www.example.com/request.py' postvals = {'first_name': 'John', 'last_name': 'Smith'} params = urllib.urlencode(postvals) f = urllib.urlopen(url, params) response = f.read()
As with the GET request, we are making the request to a specific
URL. This time, though, we create the object that we want to POST,
encode it, and pass it along when we call urlopen(...)
.
Get Programming Social Applications now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.