Показать сообщение отдельно

  #7  
Старый 13.05.2011, 19:29
bnromanoff
Новичок
Регистрация: 10.05.2011
Сообщений: 6
С нами: 7899446

Репутация: 0
По умолчанию

Скрипт на сайте, к которому обращается наш скрипт, принимает данные только через метод POST

Если использовать Вашу функцию:

PHP код:
[COLOR="#000000"][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_init[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$host[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POST[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_POSTFIELDS[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$data[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_RETURNTRANSFER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_HEADER[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_setopt[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]CURLOPT_NOBODY[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]1[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]$content[/COLOR][COLOR="#007700"]=[/COLOR][COLOR="#0000BB"]curl_exec[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"]);

[/COLOR][COLOR="#0000BB"]curl_close[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#0000BB"]$curl[/COLOR][COLOR="#007700"]);

return[/COLOR][COLOR="#0000BB"]explode[/COLOR][COLOR="#007700"]([/COLOR][COLOR="#DD0000"]"\r\n"[/COLOR][COLOR="#007700"],[/COLOR][COLOR="#0000BB"]$content[/COLOR][COLOR="#007700"]);[/COLOR][/COLOR
то curl при отмеченном параметре CURLOPT_NOBODY, посылает HEAD-запрос на сайт, вместо нужного нам POST, независимо от того, стоит ли флаг CURLOPT_POST.

А в описании протокола http говорится, что метод HEAD во всем идентичен методу GET, за исключением одного - ответ на HEAD-запрос не содержит тела сообщения, только заголовки.

Таким образом, если отметить CURLOPT_NOBODY, то параметры запроса будут посланы методом GET, и целевой скрипт их не обработает => не возвратит нужный результат.

Доказано опытным путем )
 
Ответить с цитированием