Warning: array_merge(): Argument #2 is not an array in /hsphere/local/home/magistr/codeismy.name/wp-content/plugins/wp-pagenavi/scb/Options.php on line 46

Отправка данных POST и GET запросами

Дата: Июнь 16, 2009

(1) комментарий

Давально часто программисты встречаются с данной задачей, например при написании скриптов автоматизации регистраций, рассылки спама или других более благородных целей :) (хотя врятли).
Зачастую с GET запросами ни у кого проблемм нет, так как отсылаются они через урл, а вот как отправить POST запрос многие не знают, так как для этого необходимо знать и понимать как работает HTTP протокол и сокеты.
О сокетах вы уже могли прочитать в предидущих статьях, так что сегодня я остановлючь непосредственно на отправке запросов.

Для того чтоб послать данные нам необходимо отправить минимум параметров

  • Host: — хост куда отправляем
  • Content-type — тип отправляемого содержимого
  • Content-length — длинна в байтах

Мы можем выбрать 2 типа отправки это POST или GET
Далее мы должны выбрать тип данных которые мы будем отправлять, например

  • text/html
  • text/plain
  • text/xml
  • Или любой другой который вам нужен

С базовыми методами разобрались, теперь перейдём к практике. Отправим с помощью POST фразу «успех!»

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?php
// задаём конфигурацию
$port = 80; // 443 для ssl соединения
$host = "www.example.com"; // хост куда отправляем
$method = "POST"; // метод
$contenttype = "text/html"; // тип данных
$data = "успех!"; //что отправляем

if($port == 443)
      $sslhost = "ssl://".$host;
else
      $sslhost = $host;

$fp = fsockopen($sslhost, $port); // открываем сокет и посылаем заголовки
fputs($fp, "$method $path HTTP/1.1\r\n"); // $path - путь от корня без http://www.example.com или по сути гет
fputs($fp, "Host: $host\r\n"); // наш хост
fputs($fp, "Content-type: $contenttype\r\n"); // заголовок типа данных
fputs($fp, "Content-le

Ну в общем то и всё. Продолжаем изучать php

a




    Один комментарий на "Отправка данных POST и GET запросами"

    Рафаэль сказал:
    08.04.2010

    А хде

    fputs($fp, «$data\r\n»); ?

    Забыли?

    Продолжение дискуссии на форуме: link


    Вы можете продолжить обсуждение этой статьи на форуме


    Имя : 
    Почта : 
    Сайт : 
    Комментарий : 

    Проверка комментариев включена. Прежде чем Ваши комментарии будут опубликованы пройдет какое-то время.

    Создание сайта - Echo-group Раскрутка сайтов