Как выполнить get запрос php
Перейти к содержимому

Как выполнить get запрос php

  • автор:

Как отправить GET-запрос через PHP? [дубликат]

Как это можно реализовать через PHP?

Отслеживать
ответ дан 16 мая 2015 в 6:25
20.4k 3 3 золотых знака 27 27 серебряных знаков 49 49 бронзовых знаков

Это можно сделать с помощью модуля curl, он позволяет формировать запрос с учётом куков и остальных хедеров http, очень удобен в использовании, и довольно гибок. С помощью этого модуля можно не только get запрос производить

Отслеживать
ответ дан 9 авг 2017 в 6:19
833 6 6 серебряных знаков 16 16 бронзовых знаков

  • php
  • get
    Важное на Мете
Связанные
Похожие

Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019

Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.

Как отправить GET запрос, а так же получить ответ от него?

Доброго времени суток, столкнулся с проблемой: нужно отправить на сервер данные, используя GET запрос.
В дополнении, хотелось бы знать: как разделить 2 колонки $result, полученные с БД, а не писать в отдельную переменную.

Так вот, суть GET запроса в том, что:
1) Я не знаю как это сделать;
2) Как получить от него response(ответ).

Сам код:

$nick = $pdo->query("SELECT `Nick`, `timestamp` FROM `Skins`"); /* Хотелось бы так сделать, вот только как разделить полученные данные? $result = $pdo->query("SELECT `Nick`, `timestamp` FROM `Skins`"); */ $nick = $pdo->query("SELECT `Nick` FROM `Skins`"); $timestamp = $pdo->query("SELECT `timestamp` FROM `Skins`"); $response = file_get_contents('"https://api.mojang.com/users/profiles/minecraft/"+$nick+"?at question__attrs inline-list">Вопрос задан 8526 просмотров 

1 комментарий
Подписаться 1 Простой1 комментарий
    FacebookВконтактеTwitter
    edward_freedom
    edward_freedom@edward_freedom
    ты ведь уже получаешь
    echo $response;
    Написано
Решения вопроса 1
AleksandrB
Александр@AleksandrB
Совсем недавно вывел "Hello world"
Во-первых, с каких пор строки объединяются плюсами, а не точками
$response = file_get_contents("https://api.mojang.com/users/profiles/minecraft/".$nick."?at php">$nick = $pdo->query("SELECT `Nick` FROM `Skins` WHERE `id` = :id", ['id' => $id]);

Ответ написан более трёх лет назад

Нравится 1 2 комментария

Как создать GET POST запросы с помощью PHP

Первый метод, позволяющий выполнить PHP POST запрос, заключается в использовании file_get_contents . Второй метод будет использовать fread в сочетании с парой других функций. Оба варианта применяют функцию stream context create , чтобы заполнить необходимые поля заголовка запроса.

Пояснение кода

Переменная $sPD содержит данные, которые нужно передать. Она должна иметь формат строки HTTP-запроса , поэтому некоторые специальные символы должны быть закодированы.

И в функции file_get_contents , и в функции fread у нас есть два новых параметра. Первый из них - use_include_path . Так как мы выполняем HTTP- запрос , в обоих примерах он будет иметь значение false . При использовании значения true для считывания локального ресурса функция будет искать файл по адресу include_path .

Второй параметр - context , он заполняется возвращаемым значением stream context create , который принимает значение массива $aHTTP .

Использование file_get_contents для выполнения POST-запросов

Чтобы в PHP отправить POST запрос с помощью file_get_contents , нужно применить stream context create , чтобы вручную заполнить поля заголовка и указать, какая « обертка » будет использоваться - в данном случае HTTP :

$sURL = "http://brugbart.com/Examples/http-post.php"; // URL-адрес POST $sPD = "name=Jacob&bench=150"; // Данные POST $aHTTP = array( 'http' => // Обертка, которая будет использоваться array( 'method' => 'POST', // Метод запроса // Ниже задаются заголовки запроса 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $sPD ) ); $context = stream_context_create($aHTTP); $contents = file_get_contents($sURL, false, $context); echo $contents;

Использование fread для выполнения POST-запросов

Для выполнения POST-запросов можно использовать функцию fread . В следующем примере stream context create используется для составления необходимых заголовков HTTP-запроса :

$sURL = "http://brugbart.com/Examples/http-post.php"; // URL-адрес POST $sPD = "name=Jacob&bench=150"; // Данные POST $aHTTP = array( 'http' => // Обертка, которая будет использоваться array( 'method' => 'POST', // Request Method // Ниже задаются заголовки запроса 'header' => 'Content-type: application/x-www-form-urlencoded', 'content' => $sPD ) ); $context = stream_context_create($aHTTP); $handle = fopen($sURL, 'r', false, $context); $contents = ''; while (!feof($handle)) < $contents .= fread($handle, 8192); >fclose($handle); echo $contents;

Как выполнить в PHP GET-запрос

Теперь мы уделим внимание использованию fread и file_get_contents для загрузки контента из интернета через HTTP и HTTPS . Чтобы использовать методы, описанные в этой статье, необходимо активировать опцию fopen wrappers . Для этого в файле php.ini нужно установить для параметра allow_url_fopen значение On .

Выполнение POST и GET запросов PHP применяется для входа в систему на сайтах, получения содержимого веб-страницы или проверки новых версий приложений. Мы расскажем, как выполнять простые HTTP-запросы .

Использование fread для загрузки или получения файлов через интернет

Помните, что считывание веб-страницы ограничивается доступной частью пакета. Так что нужно использовать функцию stream_get_contents ( аналогичную file_get_contents ) или цикл while , чтобы считывать содержимое меньшими фрагментами до тех пор, пока не будет достигнут конец файла:

  fclose($handle); echo $contents; ?>

В данном случае обработки POST запроса PHP последний аргумент функции fread равен размеру фрагмента. Он, как правило, не должен быть больше, чем 8192 ( 8*1024 ).

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

Использование file_get_contents для получения URL-адреса сайта

Еще проще использовать этот метод при считывании файла по HTTP , так как вам не придется заботиться о считывании по фрагментам - все обрабатывается в PHP .

Отправка данных на сервер

Самым простым способом передачи данных на сервер приложению PHP извне представляет передача данных через строку запроса.

Строка запроса представляет набор параметров, которые помещаются в адресе после вопросительного знака. При этом каждый параметр определяет название и значение. Например, в адресе:

http://localhost/user.php?name=Tom&age=36

Часть ?name=Tom&age=36 представляет строку запроса, в которой есть два параметра name и age . Для каждого параметра определено имя и значение, которые отделяются знаком равно. Параметр name имеет значение "Tom", а параметр age - значение 36. Друг от друга параметры отделяются знаком амперсанда.

Например, определим следующий скрипт user.php со следующим содержимым:

 if(isset($_GET["age"])) < $age = $_GET["age"]; >echo "Имя: $name 
Возраст: $age"; ?>

Когда мы вводим в адресную строку браузера некий адрес и нажимаем на оправку, то серверу отправляется запрос типа GET . В PHP по умолчанию определен глобальный ассоциативный массив $_GET , который хранит все значения, передаваемые в запроса GET. Используя ключи передаваемых данных, мы можем из массива $_GET получить передаваемые значения.

При отправки строки запроса ключами в этом массиве будут названия параметров, а значениями - значения параметров.

Например, в строке запроса передается параметр name=Tom . Соответственно, чтобы получить значение параметра name из запроса, обращаемся по соответствующему ключу:

$name = $_GET["name"]; // Tom

Однако стоит учитывать, что в адресной строке необязательно будет использоваться строка запроса или конкретно данный параметр. Поэтому перед получением значения параметра сначала смотрим, а передан ли вообще такой параметр:

if(isset($_GET["name"]))

Теперь обратимся к этому скрипту, например, так http://localhost/user.php?name=Tom&age=36 :

Массив <img decoding=

GET в PHP и строка запроса" />GET в PHP и строка запроса" />

Если мы не передадим значения какого-либо параметра, то соответствующая переменная будет использовать значение по умолчанию:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *