簡體   English   中英

如何使用PHP將多個Import.io搜索引擎連接器組合到一個搜索引擎中?

[英]How can I combine multiple Import.io search engine connectors into one search engine with PHP?

我在下面的表單中有來自數據提取工具/網站( http://import.io )的PHP API代碼塊。 我想要一個搜索框,它不是一個,而是多個這些“連接器”代碼塊返回結果(它們被稱為連接器,因為它們將搜索查詢與通過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);

我認為你想要的第一件事就是發布到PHP腳本的某種HTML表單。 我沒有測試過這個,但它會做的事情:

<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工作(希望這有幫助!)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM