У меня проблемы с использованием API import.io.
Несмотря на то, что мое приложение используется и развернуто в Великобритании, оно вернет (для некоторых магазинов) неверные валюты и данные о ценах из-за развертывания серверов Import.IO в США. Я поговорил со службой поддержки, которая предупредила меня, что я могу разместить прокси-сервер для API импорта.
Мне удалось запустить экземпляр AWS и установить Squid в качестве прокси-сервера. Я изменил свои настройки подключения Firefox и успешно смог просматривать веб-страницы через этот прокси-сервер (также проверил, что мой ip был IP-адресом моего сервера)
Однако я не совсем уверен, как именно я должен вызывать библиотеку импорта из моего приложения.
Приложение построено на PHP, и текущий пример того, как я сгенерировал бы URL для вызова:
public function generateCall( $import_key, $url )
{
return sprintf(
'https://api.import.io/store/data/%s/_query?input/webpage/url=%s&_user=XXXX&_apikey=%s',
$import_key, urlencode( $url ), self::$apikey
);
}
Я звоню на сервер api.import.io напрямую.
Вы можете использовать CURL и получить API.
Затем вы можете найти прокси из определенной страны, чтобы получить данные API по стране.
$user = 'User';
$key = 'key';
$url = 'https://api.import.io/store/data/%s/_query?input/webpage/url=%s&_user=XXXX&_apikey=%s';
$proxy = '127.0.0.1:8888';
//$proxyauth = 'user:password';
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
//curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxyauth);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 1);
$curl_scraped_page = curl_exec($ch);
curl_close($ch);
echo $curl_scraped_page;
Если я правильно понимаю вашу проблему, вы пытаетесь получить доступ к ресурсу import.io через прокси-сервер squid.
Есть несколько вариантов сделать это