Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с сокетами для новичка 
:(
    Опции темы
Skreaper
Дата 13.9.2007, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Все привет!!!

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

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

А. Отправить данные через GET или POST (примеры неоднократно видел, но на хостинге так повторить и не удалось)
Б. После авторизации пользователя как узнать средствами PHP, что типа авторизация прошла успешно и можно двигать дальше, к примеру, переходить в раздел новости и добавлять/удалять в них ту или иную информацию

Надеюсь никто не будет пинать меня за то, что на форуме подобная тема нираз уже поднималась....ну просто никак не догоняю я всей этой темы до конца....с кем не бывает  smile 

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

Всем огромное спасибо за внимание  smile 

Это сообщение отредактировал(а) Skreaper - 13.9.2007, 16:32
PM   Вверх
console
Дата 13.9.2007, 16:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 307
Регистрация: 12.2.2007
Где: Belarus::Minsk

Репутация: 2
Всего: 3



Цитата(Skreaper @  13.9.2007,  15:28 Найти цитируемый пост)
примеры неоднократно видел, но на хостинге так повторить и не удалось

Приведи листинг кода, который не сработал на хостинге. Какую ошибку выдавал?


--------------------
user posted image
Nothing is impossible
My WeBlog
PM MAIL WWW ICQ   Вверх
Skreaper
Дата 13.9.2007, 17:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 31.3.2006

Репутация: нет
Всего: нет



Цитата(console @ 13.9.2007,  16:34)
Цитата(Skreaper @  13.9.2007,  15:28 Найти цитируемый пост)
Приведи листинг кода, который не сработал на хостинге. Какую ошибку выдавал?


К примеру вот...нашел на этом форуме (сразу пример, который мне хотелось бы разобрать) Этот пример был рассмотрен здесь http://forum.vingrad.ru/forum/topic-106581/unread-1.html

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

Цитата:
Заинтересовался твоей проблемой. Кажется, нашёл решение. Самым первым заголовком отошли: 
Код

Host: xkiosk.net


Вместо xkiosk.net ессесно название хоста.


Честно говоря, я этой рекоменндации не понял, может она мне действительно помогла бы )))

Вообщем теперь по теме, использую вот этот листинг
Код

<?
function necho($a){
    echo nl2br($a), '<br>';
}
function default_request_var($var, $def=''){    
    return empty($_REQUEST[$var])?$def:$_REQUEST[$var];}



$host = default_request_var('host', 'joomla.ru');
$port = intval(default_request_var('port', '80'));
$path = default_request_var('path', '/content/blogsection/1/206/');
$getvars = default_request_var('getvars', '');
?>
<form action="socket.php" method="GET">
<?function echoinput($n){?>
    <?=$n?>: <input name="<?=$n?>" value="<?=$GLOBALS[$n]?>">
<?}
echoinput('host');
echoinput('port');
echoinput('path');
echoinput('getvars');
?>
<input type="submit" value="ok">

</form>
got: <?=$host?>:<?=$port?><?=$path?>, get vars: <?=$getvars?><br>
<?
function url_get_contents_get($host, $path='/', $getvars='', $port=80){
    if($getvars)$getvars='?'.$getvars;
    $errno=0;
    $errstr='-';
    $putthis = '';
    
    necho( '<b>DOING:</b> '."fsockopen($host, $port, $errno, $errstr, 4)");
    $fp = fsockopen($host, $port, $errno, $errstr, 4);
    if(!$fp) return false;
    necho('CONNECTED!<br>');
    $putthis .= "GET $path$getvars HTTP/1.0\nUser-Agent: Mozilla\nReferer: xkiosk.net\nCookie: test=test_cookie\n\n";
    necho( "<b>SENDING THIS:</b>\n". ($putthis));
    fputs($fp, $putthis);    
    $ret = '';
    while(!feof($fp)) $ret .= fgets($fp); //Выводим ответ сервера
    
    fclose($fp); //Закрываем сокет
    return $ret;

}

$ret =  url_get_contents_get($host, $path, $getvars, $port);
?>we got: <pre><?=var_dump($ret)?></pre><br><?

?>


Загружаю страницу с joomla.ru path=/content/blogsection/1/206/ В ответ мне: "Not Found The requested URL /content/blogsection/1/206/ was not found on this server." Хотя в реале такая страница существует.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0462 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.