php get запрос на url

как отправить HTTP-запрос методом GET в PHP на другой веб-сайт

Я разрабатываю веб-приложение для отправки SMS на мобильный телефон с веб-сайта, как 160by2.

Я могу подготовить URL-адрес, необходимый для запроса HTTP GET, как указано в API, предоставленном поставщиком шлюза SMS smslane.com, вот ссылка для API.

как отправить HTTP-запрос с PHP?

я использовал cURL для этой цели, но ответ не отображается. вот код, который я используется,

fsockopen() не был использован, потому что номер порта неизвестен, отправил команду поддержки для номера порта. (если какой-либо код для fsockopen через метод GET приглашается :). )

существуют ли другие методы для этого?

любая помощь приветствуется.

редактировать

может ли кто-нибудь сказать мне, есть ли другой способ отправить этот HTTP-запрос, кроме cURL и, если это возможно дайте код для этого.

Я спрашиваю об этом, потому что текущий код cURL занимает слишком много времени для выполнения и терпит неудачу через 60 секунд, я увеличил max_execution_time до 120 в php.ini в моей локальной системе, даже если это не хорошо для меня : (.

5 ответов

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

вот пример, который повторяет ваши обстоятельства:

запрос.в PHP:

ответ.в PHP:

вывод запроса.php является:

вам нужно создать свой URL, используя http_build_query, который будет заботиться о urlencoding строки запроса правильно и, как правило, делает код выглядит гораздо более читаемым:

вам также нужно установить CURLOPT_RETURNTRANSFER:

Источник

GET-запросы в PHP

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Итак, пришло время нам начать взаимодействовать с пользователем.

Как мы говорили ранее, PHP работает на сервере. Отсюда следует вопрос, а как же нам из браузера начать с ним взаимодействовать? Например, заполнить форму логина на сайте и отправить данные на сервер, чтобы наш код с ним что-нибудь сделал.

Именно об этом мы и поговорим в этом уроке.

Итак, давайте удалим все наши файлы в проекте и создадим новый пустой файл с именем index.php. Запишем в него следующий код:

Давайте выполним этот скрипт, открыв в браузере адрес:
http://myproject.loc/index.php

Как мы помним из этого урока, мы отправляем запрос веб-серверу, он понимает, что мы запрашиваем PHP-скрипт, выполняет его с помощью интерпретатора и возвращает нам ответ в виде результата выполнения этого скрипта.

Возникает вопрос: «А как можно передать от пользователя внутрь скрипта какие-либо данные?». Ответов на него у нас сразу несколько, и все мы их рассмотрим в этом уроке.

Метод GET

Когда мы вбиваем адрес скрипта и нажимаем Enter, выполняется GET-запрос по протоколу HTTP. В этом типе запроса к основному адресу мы можем прикрепить дополнительные параметры. Для того чтобы передать их, в конце основного адреса ставится знак вопроса, и мы можем перечислять эти параметры — вот так:
параметр1=значение1.
При этом если нам нужно указать несколько параметров, то мы разделяем их с помощью знака амперсанда:
арг1=знач1&арг2=знач2.

Если сейчас перейти по этой ссылке в браузере, то на сервер передадутся 2 параметра:

Давайте изменим код нашего index.php, чтобы узнать, что именно хранится в этой переменной.

Мы увидим следующее:

Как мы можем видеть, это действительно наши переданные аргументы, представленные в виде ассоциативного массива.

Учимся обрабатывать параметры

Разумеется, мы можем обращаться к этим элементам как к элементам обычного массива. Например, так:

Давайте создадим простую страничку, на которой мы будем выводить переданные с помощью GET-запроса логин и пароль.

Обновим нашу страничку в браузере и увидим результат.
php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

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

Учимся работать с формами

Давайте теперь вспомним уроки про формы из курса по HTML и сделаем простейшую форму для отправки GET-запроса на страничку.

Давайте запишем в наш index.php следующий код:

И давайте теперь откроем его в браузере: http://myproject.loc/index.php

Как мы видим по исходному коду, форма отправит аргументы login и password с введенными значениями на адрес /login.php.

Давайте введем в поля значения admin и Pa$$w0rd соответственно и нажмем на кнопку «Войти».
php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Где сервер нам скажет о том, что такой странички не найдено.
php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Отлично! Так давайте же её создадим! Создаём рядом с нашим index.php файл с именем login.php. И пишем в него следующий код:

Вернёмся на нашу форму и повторно отправим пароль. Теперь мы увидим информацию о том, что мы успешно авторизовались. Это простейший прототип формы авторизации. Разумеется, он сильно упрощён, не всё сразу. А пока – делаем домашнее задание.

Источник

Учимся работать с GET и POST запросами

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Здравствуйте дорогой читатель Блога RS! Сегодня мы с Вами будем разбирать get и post запросы. Так же поговорим о формах в html.

Для чего нужны вышеупомянутые запросы? Если Вы экспериментировали с php то могли заметить, что при повторной загрузки страницы, весь код выполняется заново, я имею ввиду, что скрипт заново создает переменные, и манипулирует с ними. Но парой необходимо передать какие то данные из одного скрипта в другой, например при отправки содержимого формы. Вот тут то на помощь и приходят запросы, с помощью которых Вы можете передать значение переменных из одного скрипта в другой.

GET запрос

Вы могли заметить, что на большинство сайтов можно лицезреть вот такие адреса:

Тут, даже не зная php, можно догадаться, что мы обращаемся к файлу index.php Но то, что идет после знака вопроса, мало кто знает. Все довольно просто: ?blog=2 это объявление глобальной переменной «$_GET[‘blog’]» с значением «2». Таким образом я в скрипт передаю переменную которая отвечает за вывод информации из базы данных. Давайте напишем небольшой скрипт в котором Вы все наглядно увидите:

Мы используем оператор условий if() в качестве условия стоит вот такая строчка:

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Думаю понятно php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на urlСоздается глобальная переменная $_GET с идентификатором который мы объявили в адресной строке (в данном случае с идентификатором «blog»)

Теперь хочу пояснить один момент. Предположим нам необходимо объявить две переменные, как это сделать? Первая переменная объявляется после знака вопроса «?» Вторая же переменная объявляется после такого знака «&» (Если честно не знаю что это за знак php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url), вот пример объявление трех переменных:

Условие звучит так:

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Формы

У формы есть атрибуты, перечислю самые распространенные:

Давайте создадим форму:

В качестве файла обработчика я поставил файл test.php так как именно в нем пишу для Вас примеры. Метод отправки я поставил post так как именно этим методам пользуются в 99.9% случаях. Так же я присвоил нашей форме имя — form

Теперь окунемся в мир элементов формы. Первым делом Вы должны понять, что почти все элементы являются тегом отличие лишь в атрибуте type у этих тегов. Давайте я перечислю используемые элементы форм:

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Я уверен, что вы не раз встречали такие поля, так что тут как говорится: «no comments» php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Теперь давайте составим небольшую тренировочную анкету, с которой будем работать далее. Наша задача составить небольшую анкетку которая поведает нам имя заполнявшего, пол, из какой он страны, любимый цвет и поле текста где пользователь может добавить что-нить о себе. Вот что у меня получилось:

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Обратите внимание, что почти у каждого тега есть атрибут value, для чего он? В него записываются данные которые Вы собираетесь перенести на другую страницу. Надеюсь понятно php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Теперь если запустить этот код в браузере, то мы увидим следующее:

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

У формы я использовал атрибут action со значением test.php это означает, как я уже говорил, что данные из формы передадутся в файл test.php.

POST запрос

php get запрос на url. Смотреть фото php get запрос на url. Смотреть картинку php get запрос на url. Картинка про php get запрос на url. Фото php get запрос на url

Заключение

Ну что ж, за сегодня мы разобрали два метода передачи данных между скриптами, так же галопам познакомились с формами. Очень надеюсь, что эта информация Вам хоть где то пригодится. Если есть какие вопросы, или мысли, пишите комментарии. Удачи Вам, на сегодня у меня все!

Источник

Обработка GET-запроса в строке URL средствами PHP

Нередко возникает задача обработки GET-запроса, содержащегося в строке URL: например, получение подстроки, отвечающей за этот запрос, замена параметров запроса, удаление его из URL и др. В данной статье читателю предлагаются простые функции, решающие некоторые из таких задач.

Вообще говоря, любая строка URL в терминах PCRE 1 может быть нестрого описана вот таким регулярным выражением:

Приведенное выше регулярное выражение описывает GET-параметры как фрагмент строки адреса, начинающийся со знака вопроса и продолжающийся до конца строки или до первой решётки (#), если таковая имеется 2 ; про якоря (anchors) в адресах часто забывают — именно они объявляются с помощью решётки.

Вооружившись функциями для работы с регулярными выражениями, несложно проводить с GET-параметрами различные манипуляции.

Получение строки GET-запроса.

Для начала поставим самую простую задачу — получить часть URL, содержащую GET-параметры.

Исключение GET-запроса из URL.

Иногда нужно получить URL без GET-параметров (например, при перенаправлении запросов с помощью mod_rewrite зачастую требуется проводить анализ URL, чтобы сформировать ответ клиенту; нередко для анализа нужна только статическая часть URL, а часть, где передается GET-запрос, не нужна и даже мешает). Эта операция занимает фактически одну строку, но, чтобы не писать каждый раз однотипный код, удобно вынести его в функцию 4 :

Замена содержимого GET-параметров.

Еще более сложная ситуация возникает в случае, когда в URL уже может находиться нужный к передаче GET-параметр (т.е. с тем же именем) — в этом случае нужно даже не просто корректно дописать адрес, а найти там нужную переменную и переписать её значение. Например, было

Все эти задачи может решить функция sgp ( ) :

За один вызов функции можно менять и несколько переменных:

В примерах для краткости изложения приведены относительные имена. Функция, разумеется, может работать и с абсолютными адресами, подчиняющимися стандарту URI. Код функции достаточно прост:

Для начала получаем GET-параметры адреса (код, аналогичный функции ggp ( ) ):

Если GET-параметры отсутствуют — заменять негде, переданный адрес заведомо останется неизменным и его можно сразу вернуть, завершив работу функции:

Далее окончательно формируем обновленную строку GET-запроса:

Обрабатываем возможное наличие якоря:

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

Следует отметить, что эту задачу можно решить и без интенсивного использования регулярных выражений:

// Версия функции «substitue get parameter» без регулярных выражений

Версия без регулярных выражений работает где-то на треть быстрее, однако эта разница не чувствуется, поскольку общее время работы очень мало (1000 итераций выполняются за сотые доли секунды).

1. Работа с PCRE-совместимыми регулярными выражениями описана на соответствующей странице руководства по PHP.

В случае статического адреса с якорем обязана совпасть третья подмаска, поэтому вторая будет обязательно пронумерована, хотя и будет содежать пустую строку.

4. Вообще говоря, если положиться на корректность URL (т.е. допустить в т.ч., что знак вопроса встречается в адресе только один раз и решётка, если присутствует, следует за ним, а не перед ним), то можно использовать более простой код:

Источник

Website-create.ru

Сегодня поговорим о том, как получить адрес страницы в php.

Зачем это может быть нужно?

Сценарии могут быть разными. Например, у нас используется один и тот же шаблон для разных разделов. Но в одном из разделов нам необходимо вывести (или не вывести) какой-то специфичный блок, которого в других разделах быть не должно.

Вероятно мы захотим сделать это по условию. И именно в условии мы и будем проверять тот ли это раздел.

Возможно с архитектурной точки зрения — это не самое лучшее решение. Однако, очень часто нам достаются уже готовые проекты, с которыми нужно что-то делать.

Получаем URL текущей страницы

Если вы хотите посмотреть всё, что хранит этот массив, то можете воспользоваться следующим кодом, который в читабельном виде выведет все значения:

Итак, давайте представим, что у нас есть веб страница следующего вида: http://localhost/php-lessons/url/?name=anna&city=Valencia.

Я тестирую на локальном сервере. Когда вы будете работать с реальным сайтом, который лежит в сети, то вместо localhost у вас будет имя вашего сайта (например exmple.ru).

Что мы видим в нашем подопытном url?

Давайте разберемся с каждой ситуацией.

Получаем полный URL страницы в php

Чтобы получить полный URL страницы вместе с GET-параметрами, воспользуемся следующим кодом:

Сначала мы проверяем, какой протокол используется: https или http.

Далее мы присоединяем двоеточие и 2 слэша, имя домена (хоста) и остальную часть нашего URL.

Результат будет вот таким:

Если протокол нам получать не нужно, то можно сократить код до такого:

Результат тогда будет следующим:

Получаем URL страницы без GET-параметров в php

Иногда нас не интересуют GET-параметры, которые передаются как часть URL, и нам нужно получить адрес без них.

GET-параметры в нашем случает — это name=anna&city=Valencia

Чтобы отсечь их мы можем использовать php-функцию explode, которая разбивает строку по разделителю.

Наш URL — это ни что иное, как строка. GET-параметры всегда начинают передаваться после знака «?». Следовательно разделителем будет вопросительный знак.

Функция explode превратит строку в массив с двумя элементами. В первом будет содержаться наш искомый url без GET-параметров, а во втором останутся GET-параметры.

Результат будет таким: http://localhost/php-lessons/url/

Получаем GET-параметры из URL

Здесь совсем все просто. Чтобы получить только GET-параметры будем использовать следующий код:

Дальше мы можете разобрать это строку, например, с помощью функции explode или сделать с ними что-либо еще (в зависимости от стоящей перед вами задачи).

А у меня на сегодня всё!

Ставьте лайки, оставляйте комментарии, подписывайтесь на обновления!

Источник

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

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