Как я могу объединить несколько соединителей поисковой системы Import.io в одну поисковую систему с PHP?
У меня есть кодовые блоки PHP API из инструмента извлечения данных / веб-сайт ( http://import.io/) в форме ниже. Я хочу иметь окно поиска, которое возвращает результат не одного, а нескольких из этих кодовых блоков "соединителей" (они называются соединителями, потому что они связывают ваши поисковые запросы с результатами, передаваемыми через import.io, предположительно).
Я новичок в PHP, поэтому я не уверен, как это сделать.
<?php
$userGuid = "kjnjkn-32d2-4b1c-a9c5-erferferferferf";
$apiKey = "APIKEY";
function query($connectorGuid, $input, $userGuid, $apiKey) {
$url = "https://api.import.io/store/connector/" . $connectorGuid . "/_query?_user=" . urlencode($userGuid) . "&_apikey=" . urlencode($apiKey);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode(array("input" => $input)));
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HEADER, 0);
$result = curl_exec($ch);
curl_close($ch);
return json_decode($result);
}
// Query for tile WEBSEARCH
$result = query("98c9bac2-e623-4e31-8a3e-erferferferf", array(
"search_query" => "term1",
), $userGuid, $apiKey);
var_dump($result);
// Query for tile WEBSEARCH
$result = query("98c9bac2-e623-4e31-8a3e-bferfreferfe", array(
"search_query" => "term2",
), $userGuid, $apiKey);
var_dump($result);
1 ответ
Я думаю, первое, что вам нужно, это какая-то HTML-форма, которая помещается в ваш PHP-скрипт. Я не проверял это, но что-то вроде этого подойдет:
<form action="path/to/myscript.php" method="POST">
<input type="text" name="search" placeholder="query">
<input type="submit" value="Search">
</form>
Это выдаст запрос HTTP POST к вашему сценарию (назовите его myscript.php или измените HTML, чтобы он соответствовал вашему имени файла) с входным термином в массиве данных $_POST.
Это означает, что вы можете набрать поисковый термин, используя $_POST["search"]
и использовать его в качестве входных данных для запроса:
$result = query("98c9bac2-e623-4e31-8a3e-erferferferf", array(
"search_query" => $_POST["search"],
), $userGuid, $apiKey);
var_dump($result);
Заметки:
- В этом нет никакой проверки - вы захотите очистить входные данные формы, если вы поместите это в производство где-нибудь
- На сайте PHP есть интересное руководство, в котором говорится о похожих вещах.
- Если вы делаете что-то более сложное, чем это, вам почти наверняка будет лучше использовать полноценную клиентскую библиотеку для языка, отличного от PHP - на этой странице перечислены другие.
- Полное раскрытие, я работаю для import.io (надеюсь, это помогло!)