I want to get the UK region based on the postcode given using PHP. I have written as $ch = curl_init();
$post="PR3 0SG";
curl_setopt($ch,CURLOPT_URL, "https://api.postcodes.io/postcodes/$post");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
//curl_setopt($ch, CURLOPT_POSTFIELDS, "limit=1");
$buffer = curl_exec($ch);
if(empty ($buffer))
{
echo " buffer is empty ";
}
else
{
echo $buffer;
}
curl_close($ch);
I get "buffer is empty" message. What's wrong with this! Is there any other way or script to get UK regions using postcode? I possible please provide.
$ch
) anywhere, you need to do that before actually using it.You're sending a POST request and this API endpoint works with GET
<?php
$post = "PR3 0SG";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://api.postcodes.io/postcodes/$post");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$buffer = curl_exec($ch);
if (empty ($buffer)) {
echo " buffer is empty ";
} else {
echo $buffer;
}
curl_close($ch);
Result:
{"status":200,"result":{"postcode":"PR3 0SG","quality":1,"eastings":351012,"northings":440283,"country":"England","nhs_ha":"North West","longitude":-2.74625152521674,"latitude":53.8564534479741,"parliamentary_constituency":"Wyre and Preston North","european_electoral_region":"North West","primary_care_trust":"North Lancashire Teaching","region":"North West","lsoa":"Wyre 006A","msoa":"Wyre 006","incode":"0SG","outcode":"PR3","admin_district":"Wyre","parish":"Myerscough and Bilsborrow","admin_county":"Lancashire","admin_ward":"Brock with Catterall","ccg":"NHS Lancashire North","nuts":"Lancaster and Wyre","codes":{"admin_district":"E07000128","admin_county":"E10000017","admin_ward":"E05009934","parish":"E04005340","ccg":"E38000093","nuts":"UKD44"}}}