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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение данных со сторонней страницы. 
:(
    Опции темы
KoLiZeI
Дата 14.8.2008, 09:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Помогите пожалуйста разобраться в проблеме. 
Суть задачи в следующем: нужно на сайте вывести информацию с другого сайта, имея лишь его статический адрес. Доступа к базе данных нет. 
Заранее спасибо.  smile 
PM MAIL WWW ICQ Skype   Вверх
bars80080
Дата 14.8.2008, 09:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

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



попробуй fopen('http:/ /adres', 'r'); fread();
PM MAIL WWW   Вверх
KoLiZeI
Дата 14.8.2008, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Я думаю что мне нужно получить переменную с кодом страницы, который нужно будет очистить от тегов и разбить по концу строки, так как количество строк всегда будет одинаковое. Или нет?

Добавлено через 5 минут и 1 секунду
2Feldmarschall мне нужно не перейти на неё, а получить её массив у себя.
2bars80080 чет не пашет
PM MAIL WWW ICQ Skype   Вверх
americanets
Дата 14.8.2008, 12:06 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

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



bars80080, давно fopen для открытия удаленных страниц ? 


KoLiZeI, на формуме 20 % таких вопросов , 19% решены, попробуй поискать


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
solenko
Дата 14.8.2008, 12:48 (ссылка) |    (голосов:3) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

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



Цитата(americanets @  14.8.2008,  11:06 Найти цитируемый пост)
bars80080, давно fopen для открытия удаленных страниц ? 

ОЧЕНЬ давно



--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
KoLiZeI
Дата 14.8.2008, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Пытаюсь сделать так

Код

$fp = fsockopen("capitalcity.combats.com", 80, $errno, $errstr, 30);
    
    if (!$fp) 
        {
            echo "Error ;)<br />\n";
        } 
    else 
        {
            $out =  "GET /inf.pl?login=ротшильд HTTP/1.1\r\n";
            $out .= "Host: capitalcity.combats.com\r\n";
            $out .= "Connection: Close\r\n\r\n";
            
            fwrite($fp, $out);
            
            while (!feof($fp)) 
                {
                 $text .= fgets($fp, 128);
                }
                
            fclose($fp);
        }

что бы получить страницу, а мне выдается 301 ошибка Moved Permanently 
и пишет Connection: close . В чем ошибка, помогите?
PM MAIL WWW ICQ Skype   Вверх
americanets
Дата 14.8.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

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



301 страница перемещена

Добавлено через 53 секунды
Цитата(KoLiZeI @  14.8.2008,  15:08 Найти цитируемый пост)
выдается 301 ошибка Moved Permanently 


и это не ошибка, а нормальное сообщение о том что страницу переместили


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
solenko
Дата 14.8.2008, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1473
Регистрация: 15.1.2006
Где: Украина

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



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


Это сообщение отредактировал(а) solenko - 14.8.2008, 14:48


--------------------
Ла-ла-ла-ла
Заметьте, нет официального подтверждения, что это не просто четыре слога.
PM MAIL WWW ICQ Skype   Вверх
nornad
Дата 14.8.2008, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1079
Регистрация: 16.2.2007
Где: в Караганде

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



KoLiZeI, всего-то надо:
а) fopen (как уже выше сказали)
б) fread всего, что дадут по файловому дескриптору
в) fclose (хороший тоне всегда закрывать то, что открывал и более не нужно)
г) preg_match или что-нибудь вроде того, чтобы найти нужные тебе теги на странице и выдрать их содержимое

Это сообщение отредактировал(а) nornad - 14.8.2008, 14:51


--------------------
Три достоинства программиста: Леность, Нетерпение и Гордость
Ларри Уолл
PM MAIL WWW ICQ Skype MSN   Вверх
KoLiZeI
Дата 14.8.2008, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Выводит вот такой крякозяброй всё
Цитата

€§3ЩбЙa&TЖBk! Єљ ЛШX€ѕњY@d" vН^ЗтР_Н¶й™гі Н±oХc}dЇІ‹:‰™;рЏєvП3;§„^ї°NР2ыH\е…ёЬ

PM MAIL WWW ICQ Skype   Вверх
Anarki
Дата 14.8.2008, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



301/302 обыкновенный редирект

Добавлено через 29 секунд
Цитата(KoLiZeI @ 14.8.2008,  18:16)
Выводит вот такой крякозяброй всё
Цитата

€§3ЩбЙa&TЖBk! Єљ ЛШX€ѕњY@d" vН^ЗтР_Н¶й™гі Н±oХc}dЇІ‹:‰™;рЏєvП3;§„^ї°NР2ыH\е…ёЬ

Ну перекодируй в нужную тебе кодировку.


--------------------
PM WWW   Вверх
KoLiZeI
Дата 15.8.2008, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Так ничего и не получилось.
Помогите получить страницу вида capitalcity.combats.com/inf.pl?login=ротшильд
 smile 
PM MAIL WWW ICQ Skype   Вверх
americanets
Дата 15.8.2008, 09:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

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





--------------------
Пусть популярную музыку слушают те, среди кого она популярна
PM   Вверх
KoLiZeI
Дата 15.8.2008, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 88
Регистрация: 6.4.2007
Где: г. Саратов

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



Код

function check_link($link) {
    $main = array();
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $link);
    curl_setopt ($ch, CURLOPT_HEADER, 1);
    curl_setopt ($ch, CURLOPT_NOBODY, 1);
    curl_setopt($ch, CURLOPT_FAILONERROR, 1);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt ($ch, CURLOPT_NETRC, 1);
    curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1); 
    curl_setopt($ch, CURLOPT_POST, 1); 
    curl_setopt($ch, CURLOPT_POSTFIELDS, "/inf.pl?login=ротшильд"); 
    ob_start();    
    $stuff = ob_get_contents();
    ob_end_clean();
    curl_close ($ch);
    $parts = split("\n",$stuff,2);
    $main = split(" ",$parts[0],3);    
    return $main;
  }  
  print_r(check_link('http://capitalcity.combats.com'));   


Если возвращать $main выводит Array ( [0] => ) , а если $stuff, то вообще ничего не выводит...  smile 
Если выводить без curl_setopt($ch, CURLOPT_POSTFIELDS, "/inf.pl?login=ротшильд");  то выводит Array ( [0] => HTTP/1.1 [1] => 200 [2] => OK )

PM MAIL WWW ICQ Skype   Вверх
americanets
Дата 15.8.2008, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1100
Регистрация: 27.9.2006

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



Цитата(KoLiZeI @  15.8.2008,  12:49 Найти цитируемый пост)
CURLOPT_POSTFIELDS


POST не GET . разницу понимаешь ? 


Попытайся включить логику, почитать мануал, погуглить


--------------------
Пусть популярную музыку слушают те, среди кого она популярна
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.1078 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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