Извлечение пары значений ключей из API-ответа stackoverflow для сохранения их в mysql с использованием переполнения стека

Как извлечь пару значений ключа из ответа API от stackoverflow, используя php?

ключи имя и количество

ссылка для получения ответа приведена ниже

Ссылка API запроса stackoverflow

ответ как

{ «элементы»: [{ «has_synonyms»: истинные «is_moderator_only»: ложные, «is_required»: ложь, «Count»: 835623, «название»: «Java»}, { «has_synonyms»: истинные «is_moderator_only» ложь, «is_required» ложь «считать»: 826692, «название»: «JavaScript»}, { «has_synonyms»: правда, «is_moderator_only» ложь «is_required»: ложные, «подсчет»: 780233,» назвать «:» C # «}, {» has_synonyms «: истинные» is_moderator_only «: ложные,» is_required «: ложный» Count «: 733762,» название «:» PHP «}, {» has_synonyms «: правда» is_moderator_only «ложь» is_required «ложь» счетчик «: 656491,» название «:» андроид «}, {» has_synonyms «ложь» is_moderator_only «ложь» is_required «ложь» счетчик «: 600666 , «название»: «JQuery»}, { «has_synonyms»: истинный «is_moderator_only»: ложный, «is_required»: ложный, «подсчет»: 411780, «название»: «Python»}, { «has_synonyms»: истинный , «is_moderator_only» ложь «is_required» ложь «счетчик»: 402876, «название»: «HTML»}, { «has_synonyms»: истинный «is_moderator_only»: ложный, «is_required»: ложный, «подсчет» : 361469, «имя»: «C ++»}, { «has_synonyms»: правда, «is_moderator_only»: ложные «is_required»: ложь, «подсчет»: 324702, «имя»: «ИОС»}, { «has_synon YMS «: правда,» is_moderator_only «ложь» is_required «ложь» счетчик «: 314826,» название «:» MySQL «}, {» has_synonyms «: правда,» is_moderator_only «ложь» is_required «ложь , «считать»: 296359, «название»: «CSS»}, { «has_synonyms»: правда, «is_moderator_only» ложь «is_required»: ложные, «подсчет»: 271 375, «название»: «SQL»}, { «has_synonyms»: истинные «is_moderator_only»: ложные, «is_required» ложь «счетчик»: 253038, «название»: «asp.net»}, { «has_synonyms»: правда, «is_moderator_only» ложь» is_required «ложь» счетчик «: 224602,» название «:» цель-с «}, {» has_synonyms «: правда,» is_moderator_only «ложь» is_required «: ложные,» подсчет «: 207451,» название» :}, { «has_synonyms «»чистый».: правда,» is_moderator_only «: ложные» is_required «: ложь,» подсчет «: 202666,» имя «:» iphone «}, {» has_synonyms «: правда,» is_moderator_only «ложь» is_required «ложь» счетчик «: 200238,» название «:» рубин-на-рельсы «}, {» has_synonyms «: ложный,» is_moderator_only «: ложный,» is_required «: ложный,» подсчет «: 176868,» название «:» с «}, {» has_synonyms «: ложный,» is_moderator_only «: ложный,» is_required «: ложный,» подсчет «: 130813,» название «:» рубин «}, {» has_synonyms «:правда,» is_moderator_only «ложь» is_required «ложь» счетчик «: 129764,» название «:» массивы «}, {» has_synonyms «: правда,» is_moderator_only «ложь» is_required «ложь» счетчик «: 127562 , «название»: «SQL-сервер»}, { «has_synonyms»: правда, «is_moderator_only» ложь «is_required» ложь «счетчик»: 116079, «название»: «Ajax»}, { «has_synonyms» : правда, «is_moderator_only» ложь «is_required» ложь «счетчик»: 114163, «название»: «регулярное выражение»}, { «has_synonyms»: ложный, «is_moderator_only»: ложный, «is_required» ложь» рассчитывать «: 112127,» название «:» XML «}, {» has_synonyms «: правда,» is_moderator_only «ложь» is_required «: ложные,» подсчет «: 111066,» название «:» JSON «}, {» has_synonyms «: истинный» is_moderator_only «ложь» is_required «ложь» счетчик «: 107333,» название «:» asp.net-MVC «}, {» has_synonyms «: ложный,» is_moderator_only «ложь» is_required «ложь» счетчик «: 99944,» название «:» МОФ «}, {» has_synonyms «ложь» is_moderator_only «ложь» is_required «: ложные,» подсчет «: 98195,» название «:» Linux «}, {» has_synonyms «ложь» is_moderator_only «ложь» is_required «ложь» счетчик «: 93114,» название «:» Джанго «}],» has_more «: правда,» quota_max «: 300 ,» quota_remaining «: 228}

Я сделал это, но не получил ответа в php

<?php

$url = 'https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow';

$cURL = curl_init();

curl_setopt($cURL, CURLOPT_URL, $url);
curl_setopt($cURL, CURLOPT_HTTPGET, true);

curl_setopt($cURL, CURLOPT_HTTPHEADER, array(
'Content-Type: application/json',
'Accept: application/json'
));

$result = curl_exec($cURL);

curl_close($cURL);print_r($result);

?>

Я также сделал это с помощью javascript там, я получаю ответ, но нет никакого способа, которым javascript может взаимодействовать с базой данных. Я попытался отправить его в php-файл оттуда, но я не могу получить пару ключ-значение из запроса.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script type="text/javascript">
$.ajax({
type:"GET",
url:"https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow",
success:function(data){

$.ajax({
type:"POST",
url:"savetodb.php",
data:"data="+JSON.stringify(data),
success:function(daa){
alert(daa)  }
})
}
})
</script>

Я также попробовал функцию php file_get_contents ([URL])

код следующий

<?php
$url = "https://api.stackexchange.com/2.2/tags?order=desc&sort=popular&site=stackoverflow";
$json = file_get_contents($url);
$json_data = json_decode($json, true);
print_r($json_data);

?>

Я получаю ошибку

1.file_get_contents (): php_network_getaddresses: getaddrinfo не удалось: такой хост не известен

2.file_get_contents (https://api.stackexchange.com/2.2/tags?order=desc&сортировать = популярный&сайт = StackOverflow): не удалось открыть поток: php_network_getaddresses: getaddrinfo не удалось: такой хост не известен

-4

Решение

Как указано в Документация по Stack Exchange API,

Все ответы API являются JSON

поэтому вы должны искать синтаксический анализ JSON на языке программирования, который вам нужно использовать.

Для части DNS я думаю, что вы должны проверить этот ответ на сервере; сосредоточиться на первых двух вещах:

[ИКС]

Первое, что нужно проверить, это проверить ваш php.ini и убедиться, что эти атрибуты включены

allow_url_fopen = On

allow_url_include = On

[ИКС]

Создайте файл phpinfo () [на всякий случай phpinfofile.com] и проверьте, включены ли эти расширения

OpenSSL

Разъем

Специально для пользователей Windows, использующих xammp или wammp, отключив расширение PHP_OpenSSL, вы не сможете подключиться через @fsockopen

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]