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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> [PHP]отправка данных на неком сайте 
:(
    Опции темы
len4ixa
Дата 13.6.2009, 12:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Люди, конкретно столкнулась именно с такой задачей, и меня замкнуло. Нужно, не посещая некий чужой сайт через браузер (ну точнее не посещая его вручную), зайти на его страницу, ввести в некое поле на этой странице данные и нажать на кнопочку возле этого поля для передачи этих данных. Как я могу это прописать? Ну то-есть шаблончик скиньте плз. Удобнее всего через пхп скрипт, выложенный далее на неком моем хостинге, так что предлагайте, или говорите, что еще надо для этого. 

Это сообщение отредактировал(а) len4ixa - 13.6.2009, 12:13
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
bars80080
Дата 13.6.2009, 12:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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



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

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



в таких случаях советуют читать использование библиотеки cURL. в этом случае можно будет по указанному адресу со своего сервера отправить данные методом post
PM MAIL WWW   Вверх
len4ixa
Дата 13.6.2009, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Добавлено @ 12:52
Читнулась немного, вопрос есть, а как название той формы, куда вводишь данные узнать. Ну я не совсем поняла алгоритм, как находится то поле ввода текста там, куда отправляешь запрос

Это сообщение отредактировал(а) len4ixa - 13.6.2009, 12:53
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
icewind
Дата 13.6.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тогда сокеты в помощь ( пример )


--------------------
user posted image
PM MAIL Skype   Вверх
len4ixa
Дата 13.6.2009, 13:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Тьфу с именем. Ща попробую

Добавлено @ 13:10
А конкретно можно пример? нужно ввести юрл в поле посередине http://anon.rengo.ru/ лучше с помощью сокетов, так как про curl не уверена

Это сообщение отредактировал(а) len4ixa - 13.6.2009, 13:10
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
underW
Дата 13.6.2009, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



вот тебе пример,  работает на ура, скажу я вам smile 

Код

<php


function Send($url, $data = "", $method = "get", $cookies = "")
  {
    $arr = parse_url($url);
 
    $nn = "\r\n";
    $host = $arr["host"];
    $ref = $arr["scheme"]."//$host";
    $path = $arr["path"];
 
    if (isset($arr['query'])) $query = $arr["query"];
 
    if (isset($query) && !empty($query)) $path.="?".$query;
 
    $request = strtoupper($method)." $path HTTP/1.0".$nn.
               "Referer: $ref".$nn.
               ($cookies ? "Cookie: ".$cookies.$nn : "").
               "Connection: Keep-Alive".$nn.
               "Cache-Control: no-cache".$nn.
               "Content-Type: application/x-www-form-urlencoded".$nn.
               "Content-Length: ".strlen($data).$nn.
               "Host: $host".$nn.
               "Accept: */*".$nn.
               "Accept-Encoding: gzip, deflate".$nn.
               "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2)".$nn."".$nn.
               $data;
 
    //echo nl2br($request).'<br /><br /><br /><br />';
    //exit;
 
    $fp = fsockopen($host, 80, &$errno, &$errstr, 30);
 
    //echo "<br><br>socket открыт:".$fp;
 
    if(!$fp) { print "$errstr ($errno)<br>\n"; exit; }
    fputs($fp, $request);
 
    //echo "<br>ответ: ".fgets($fp);
 
    while(!feof($fp))
    {
      @$reply .= fgets($fp);
    }

    fclose($fp);
 
    return $reply;
 fclose($fp);

  }



$url="http://site.ru";

$text="bla-bla-bla";

$data = Send($url, $text, "post", "");
?>

PM MAIL   Вверх
len4ixa
Дата 13.6.2009, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Не, конкретно на вышеприведенный сайт, плз

Это сообщение отредактировал(а) len4ixa - 13.6.2009, 13:48
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
skyboy
Дата 13.6.2009, 14:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

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



по причине нежелания автора принимать участие в разработке, тема перемещена в "Центр помощи" из "PHP:Общие вопросы "
PM MAIL   Вверх
len4ixa
Дата 13.6.2009, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Хорошо. Это не домашка хахахахахахаха=) Просто в этой области я еще мало с чем встречалась

Это сообщение отредактировал(а) len4ixa - 13.6.2009, 14:35
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
len4ixa
Дата 14.6.2009, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



решила делать с помощью curl
Смотрите, форма такая:
Код

<td valign="middle" align="center" width="1%"> 
              <input type="hidden" name="session" value="demo">
              <input type="hidden" name="form" value="header">
              <input type="text" name="url" value="http://" size="35" style="font-size: 9pt;">
            </td>
            <td width="49%" align="left" nowrap>
              <a href="javascript:document.forms[0].submit();"><img src="/images/view.gif" width="85" height="21" border="0" alt="Show" name="view"></a>
            </td>

Я сделала так, но оно не работает. Что напутала?
(Вот так сделалаsmile
Код

<?php
$ch=curl_init();//инициализируем сеанс
//здесь авторизируемся на сайте   
$url="http://www.anonymizer.ru//";   
$ch = curl_init(); 
// cURL будет выводить подробные сообщения о всех производимых действиях
    curl_setopt($ch, CURLOPT_VERBOSE, 1);
    curl_setopt($ch, CURLOPT_HEADER, 1);   
// url страницы для авторизации   
curl_setopt($ch, CURLOPT_URL, $url);   
//вернуть результат запроса в переменную, а не на экран   
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);   
// используем метод POST    
curl_setopt($ch, CURLOPT_POST, 1);   
// данные передаваемые POST запросом   
curl_setopt($ch, CURLOPT_POSTFIELDS, "session=weka.ipb.su");   
//сохранять полученные COOKIE в файл   
curl_setopt($ch, CURLOPT_COOKIEJAR, $_SERVER['DOCUMENT_ROOT'].'/cookie.txt');
// при получении HTTP заголовка "Location: " будет происходить перенаправление
// на указанный этим заголовком URL
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0.' .'(compatible; MSIE 6.0; Windows NT 5.2; SV1; .NET CLR 1.1.4322)');
curl_setopt($ch, CURLOPT_REFERER, $referer);   
//запускаем   
$result = curl_exec($ch);
  
       
curl_close($ch);     
       
echo $result;
?>

--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
len4ixa
Дата 14.6.2009, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



Что-то тут долго ответа дожидаться прийдется=(  
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
icewind
Дата 15.6.2009, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что не работает конкретно? Что скрипт делает и сто по вашим ожиданиям должен? И зачем 2 раза инициализировать курл?


--------------------
user posted image
PM MAIL Skype   Вверх
len4ixa
Дата 17.6.2009, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Твоя лучшая фантазия
*


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

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



1)В итоге мне показывается сайт, на который я пытаюсь отправить данные, без картинок. 
2)Я же уже писала, ну скажу более четко: нужно в окно сверху на сайте anonymizer.ru написать этот сайт weka.ipb.su и отправить.
3)Да, один косяк уже есть с инициализацией, но на работу скрипта он все-равно не влияет

Это сообщение отредактировал(а) len4ixa - 17.6.2009, 22:08
--------------------
Кому интересно быть модером на бесплатнои хостинге (но не ломать его) и сделать из него хотя бы что-то, похожее на "нормальное", тому Сюда.Сайт брата: kras.24ss.ru. Регимся. 
PM MAIL   Вверх
icewind
Дата 17.6.2009, 23:29 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У вас происходит то, что и должно. Вы после выполнения запроса к удаленному серверу распечатали его ответ, а это html страница. Картинок нет потому что пути у них скорее всего относительные.


--------------------
user posted image
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.1037 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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