ФорумПрограммированиеPHP для идиотов → POST запрос средствами PHP

POST запрос средствами PHP

  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 1 декабря 2008 г. 17:41, спустя 3 минуты 5 секунд

    Curl - удобнее
    Сокеты - гибче


    а на первый взгляд сокеты куда удобнее и проще
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 17:42, спустя 31 секунду


    а вообще может мне кто нить показать пример когда сокеты "гибче"?

    это по дефолту, сначала покажи обратное..
    ты юзаешь file_get_contents или while(!feof … ?

    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 1 декабря 2008 г. 17:49, спустя 7 минут 2 секунды

    Я почти всегда while(!feof($f)) =)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 17:49, спустя 32 секунды

    пипец)
    Сапожник без сапог
  • sap

    Сообщения: 2701 Репутация: N Группа: Кто попало

    Spritz 1 декабря 2008 г. 17:52, спустя 2 минуты 35 секунд

    Привычка от С осталась, если честно =)
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 17:56, спустя 4 минуты 5 секунд

    ну если только поэтому)) а курл он както более высокий уровень дает, да и приемущество при большх входных данных, ибо while(!feof .. для сокета - всетаки цикл, а циклы пхп не очень то любит. поэтому и file_get_contents должен рабоатть быстрее :)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:02, спустя 5 минут 47 секунд



    а вообще может мне кто нить показать пример когда сокеты "гибче"?

    это по дефолту, сначала покажи обратное..
    ты юзаешь file_get_contents или while(!feof … ?


    Мы говорим о гибкости или о удобстве? Ты о удобстве видимо.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • Sin

    Сообщения: 80 Репутация: N Группа: Адекваты

    Spritz 1 декабря 2008 г. 18:06, спустя 3 минуты 59 секунд

    так, хорошо, поставлю вопрос по другому…
    есть post запрос такого вида:


    http://www.site.ru/index.php?userid=2944317 HTTP/1.1
    Host: www.site.ru
    User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; ru; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
    Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
    Accept-Language: ru,en-us;q=0.7,en;q=0.3
    Accept-Encoding: gzip,deflate
    Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7
    Keep-Alive: 300
    Connection: keep-alive
    Referer: http://www.site.ru
    Cookie: chbx=guest;
    Content-Type: multipart/form-data; boundary=—————————41184676334
    Content-Length: 1092
    —————————–41184676334
    Content-Disposition: form-data; name="geogr_id"

    525
    —————————–41184676334
    Content-Disposition: form-data; name="name"

    vasya
    —————————–41184676334
    Content-Disposition: form-data; name="pname"

    aleks
    —————————–41184676334
    Content-Disposition: form-data; name="family"

    petrov
    —————————–41184676334
    Content-Disposition: form-data; name="bdate_day"

    1
    —————————–41184676334
    Content-Disposition: form-data; name="bdate_mon"

    1
    —————————–41184676334
    Content-Disposition: form-data; name="bdate_year"

    2000
    —————————–41184676334
    Content-Disposition: form-data; name="avatarfile"; filename=""
    Content-Type: application/octet-stream


    —————————–41184676334
    Content-Disposition: form-data; name="x"


    —————————–41184676334
    Content-Disposition: form-data; name="y"


    —————————–41184676334–

    HTTP/1.x 302 Moved Temporarily
    Date: Mon, 01 Dec 2008 15:00:36 GMT
    Server: 0W/0.8c
    Content-Type: text/html; charset=windows-1251
    Content-Encoding: gzip
    Location: /index.php?userid=2944317
    Content-Length: 26
    x-powered-by: PHP/5.2.3
    Vary: Accept-Encoding



    Как будет лучше его организовать?
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:08, спустя 2 минуты 45 секунд




    а вообще может мне кто нить показать пример когда сокеты "гибче"?

    это по дефолту, сначала покажи обратное..
    ты юзаешь file_get_contents или while(!feof … ?


    Мы говорим о гибкости или о удобстве? Ты о удобстве видимо.
    а что не позволяет сделать курл, что позволяет сделать сокет? :)
    ничего личного, просто интерес :)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:12, спустя 3 минуты 43 секунды

    а что не позволяет сделать курл, что позволяет сделать сокет? :)
    ничего личного, просто интерес :)


    cURL это просто интерфейс над сокетами и по умолчанию сокеты - гибче. Это просто логика.
    тебя же я просил пример привести обратного…
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:13, спустя 1 минуту 17 секунд

    Sin, вопрос удобства.

    через курл к примеру

    $ch = curl_init();
    ….

    $data['geogr_id'] = 525;
    $data['name'] = "vasia";
    ….

    curl_setopt($ch,CUROPT_POSTDATA,http_build_string($data,"","&"));
    ..
    curl_exec($ch);


    на сокетах, такую(вашу) строку прямо и надо передавать в сокет.
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:14, спустя 43 секунды

    phpdude,

    В PHP включена поддержка libcurl - библиотеки функций, написанной Daniel Stenberg, которая позволяет взаимодействовать с различными серверами по различным протоколам. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file, и ldap. libcurl также умеет работать с сертификатами HTTPS, посылать запросы к HTTP серверам методами POST и PUT, закачивать файлы по протоколам HTTP и FTP (последнее можно сделать также используя  модуль FTP), использовать прокси-серверы, cookies и аутентификацию пользователей.


    То есть ограниченный набор протоколов.
    А сокеты позволяют к чему угодно обращаться.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:15, спустя 1 минуту 4 секунды

    adw0rd, я понимаю, что всегда гибче сделать строку самому, все сделать как надо … это да, гибче. правда :)

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

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:16, спустя 32 секунды


    phpdude,

    В PHP включена поддержка libcurl - библиотеки функций, написанной Daniel Stenberg, которая позволяет взаимодействовать с различными серверами по различным протоколам. В настоящее время libcurl поддерживает протоколы http, https, ftp, gopher, telnet, dict, file, и ldap. libcurl также умеет работать с сертификатами HTTPS, посылать запросы к HTTP серверам методами POST и PUT, закачивать файлы по протоколам HTTP и FTP (последнее можно сделать также используя  модуль FTP), использовать прокси-серверы, cookies и аутентификацию пользователей.


    То есть ограниченный набор протоколов.
    А сокеты позволяют к чему угодно обращаться.
    я полностью согласен. ступил, каюсь :) эдворд - +1 за то, что не сдался)
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 1 декабря 2008 г. 18:18, спустя 1 минуту 56 секунд

    phpdude, +1 за то что согласился :)
    https://smappi.org/ - платформа по созданию API на все случаи жизни

Пожалуйста, авторизуйтесь, чтобы написать комментарий!