Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает POST запрос на сервере... / 15 сообщений из 15, страница 1 из 1
10.05.2012, 12:15:49
    #37787578
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
Есть код:Код PHP

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
$fp = fsockopen($parts['host'],             
             isset($parts['port'])?$parts['port']:80, 
             $errno, $errstr, 30);
     if (!$fp) {        
         return false;  
     } else {       
         $out = "POST ".$parts['path']." HTTP/1.1\r\n"; 
         $out.= "Host: ".$parts['host']."\r\n"; 
         $out.= "Content-Type: application/x-www-form-urlencoded\r\n";  
         $out.= "Content-Length: ".strlen($parts['query'])."\r\n";  
         $out.= "Connection: Close\r\n\r\n";    
         if (isset($parts['query'])) $out.= $parts['query'];    
         fwrite($fp, $out); 
         fclose($fp);   
         return true;   
     }   





локально на денвере он отрабатывает, а на реальном сервере нет.
Резонный вопрос почему?

Спасибо

PS: код доходит до
Код: php
1.
return true;

fsockopen возвращает true, $errno возвращает 10. Нигде не мог найти поэтому коду ничего...
...
Рейтинг: 0 / 0
10.05.2012, 13:13:23
    #37787722
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
kasik,

А не хотите узнать, что отвечает удаленный сервер?
...
Рейтинг: 0 / 0
10.05.2012, 13:28:00
    #37787746
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
прочитать из сокета get-ом?
...
Рейтинг: 0 / 0
10.05.2012, 13:33:57
    #37787760
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
fgets, fread
...
Рейтинг: 0 / 0
10.05.2012, 13:35:21
    #37787762
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
...
Рейтинг: 0 / 0
10.05.2012, 14:29:52
    #37787886
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
не давиче как вчера, как раз от туда его и брал! Возвращает ничего такого преступного, смпеециально сравнивал с ответом с лакальной машины где все работает, тока SID меняется и все, а так один в один.

Так что магия какая то!

Может еще где можно что посмотреть?
...
Рейтинг: 0 / 0
10.05.2012, 17:26:32
    #37788238
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
kasik,

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

Кстати, а что не работает то? Сокет открывается вроде, судя по проверке. Данные в него пишутся, ответ приходит ,как Вы говорите...
Да, и что в описании ошибки, в переменной $errstr содержится?
...
Рейтинг: 0 / 0
10.05.2012, 18:25:29
    #37788311
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
Вообщем так ситуация такая:
С post-ом $errno=10, а $errstr пустое, в ответ от сервера пусто, тишина. то есть оплучается что ничего по факту не отправилось хотя в $fp true.
Если поменять на get запрос, то уже сервер в ответ дает стандартное сообщение что все ок(200), но не передается параметр $parts['query'].

Вот такая ситуация!
...
Рейтинг: 0 / 0
10.05.2012, 18:34:08
    #37788331
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
kasik,

Я б посмотрел еще корректность передаваемых заголовков, переменную $out непосредственно перед записью в сокет. На всякий случай...
...
Рейтинг: 0 / 0
10.05.2012, 18:38:48
    #37788342
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
пожалуйста, но то get:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
GET /bg.php HTTP/1.1

Host: site.ru

Content-Type: application/x-www-form-urlencoded

Content-Length: 7

Connection: Close



sn=2877
...
Рейтинг: 0 / 0
10.05.2012, 18:42:13
    #37788348
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
Но у Вас же пост не работает. Да, и почему это вдруг хидеры разделены пустыми строками? Первая же пустая строка означает буквально "хидеры закончились".
...
Рейтинг: 0 / 0
10.05.2012, 18:51:21
    #37788358
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
разница тока в первой строчке post или get.
Но там же после каждой строчки перевод каретки
Код: php
1.
2.
3.
4.
5.
$out = "POST ".$parts['path']." HTTP/1.1\r\n"; 
         $out.= "Host: ".$parts['host']."\r\n"; 
         $out.= "Content-Type: application/x-www-form-urlencoded\r\n";  
         $out.= "Content-Length: ".strlen($parts['query'])."\r\n";  
         $out.= "Connection: Close\r\n\r\n";    



а перед полылом параметра два раза пеервод каретки.

Но такая же конструкция работает локально, а как же без \r\n, чем тьо разделено должно быть все равно же...
...
Рейтинг: 0 / 0
10.05.2012, 18:53:31
    #37788360
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
и нет там пропусков, так текст скопировался просто, по разному отображает по Ф3 и по Ф4.
...
Рейтинг: 0 / 0
10.05.2012, 19:22:21
    #37788387
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
Тады ничего криминального более не заметно. Остается одно - удаленный сервер по разному обрабатывает пост и гет. Возможно, проверяет айпи источника запроса или какие то параметры, которые присущи, скажем, настоящему браузеру. Доступа к удаленному серверу нет, чтоб посмотреть что там происходит?
...
Рейтинг: 0 / 0
11.05.2012, 00:58:23
    #37788643
kasik
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Не работает POST запрос на сервере...
Обновили на серваке php и все само ушло.
Всем спаисбо!
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Не работает POST запрос на сервере... / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]