Учитывая номер дома и почтовый индекс в Великобритании, как я могу перевести это на полный почтовый адрес?
Это работает очень хорошо. Тем не менее, я думаю, что в конце отсутствует строка кода, которую я добавил:
$data1 = json_decode(curl_exec($ch),true);
Веб-сайт Почтовой службы Великобритании позволяет осуществлять поиск по 50 адресов в день.
Вот пример PHP, как это называется.
<?php
$house=$_GET['house'];
$postcode=$_GET['postcode'];
$ch = curl_init();
//We need to get a KEY.
curl_setopt($ch, CURLOPT_URL, "www.royalmail.com/rml-shared-find-a-postcode");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, TRUE);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$data = curl_exec($ch);
preg_match("/key\":\"([a-zA-Z0-9-]*)/",$data,$key);
$key=$key[1];
//Now that we have the key, we just need to make a simple request.
curl_setopt($ch, CURLOPT_URL, "http://api.postcodefinder.royalmail.com/CapturePlus/Interactive/Find/v2.00/json3ex.ws?Key=$key&Country=GBR&SearchTerm=".urlencode($postcode.",".$house).'&LanguagePreference=en&LastId=&SearchFor=Everything&$block=true&$cache=true');
$data = json_decode(curl_exec($ch),true);
//We can stop here or if we want to get the fully formatted address we go one more query.
$locationid=urlencode($data['Items'][0]['Id']);
curl_setopt($ch, CURLOPT_URL, "http://api.postcodefinder.royalmail.com/CapturePlus/Interactive/RetrieveFormatted/v2.00/json3ex.ws?Key=".$key."&Id=$locationid");
$data = json_decode(curl_exec($ch),true);
print_r($data);
?>
Коммерческие услуги, такие как getaddress.io также могут быть использованы.
Других решений пока нет …