PHP.SU

Программирование на PHP, MySQL и другие веб-технологии PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Maksim337
Отправлено: 07 Марта, 2010 - 20:32:12
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Даже не знаю как сформулировать вопрос правильно в поисковик, выдает не то что мен нужно.
напрмер у себя на сайте заливаю сценарий start.php
Там форма.
Я ее заполняю и при нажатии на ок все данные с формы должны перейти на сценарий end.php который находиться вообще на другом сайте. Все просто только мне удаленный сайт выдаст ответ, но надо чтобы я только передал данныеа а скрипт старт.пхп продолжал выполнять свою другую задачу.
Ну я набрел что можно чтото сделать при помощи fopen();
открыл сценарий енд.пхп передал ему заголовок, а вот как передать данные из моей формы не поймуНедовольство, огорчение
Подскажите плиз, срочно надо
 
 Top
Ch_chov
Отправлено: 07 Марта, 2010 - 21:05:22
Post Id



Мастер


Покинул форум
Сообщений всего: 865
Дата рег-ции: Июль 2008  
Откуда: из города






Урок № 14 – CURL
 
 Top
Maksim337
Отправлено: 07 Марта, 2010 - 21:19:41
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






А спасибо, было очень познавательно, а других механизмов нету?
 
 Top
JustUserR Модератор
Отправлено: 08 Марта, 2010 - 15:35:49
Post Id



Эксперт


Покинул форум
Сообщений всего: 5854
Дата рег-ции: Июнь 2009  






Maksim337 пишет:
А спасибо, было очень познавательно, а других механизмов нету?
Есть к примеру можете использоваться socktes чтобы полностью контролировать передачу и прием HTTP-заголовков и кроме того вы можете отслеживать данные с помощью Proxymition и передавать на сервер - при это не используйте popen-конструкции потому что данные в них передаются неявно и не факт что верно

-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Хороший хостинг от 15 рублей в месяц (За 40 МБ места) - http://ihost.oks71.ru
Бесплатная учебная литература по программированию - http://progbook.ru
 
 Top
Maksim337
Отправлено: 08 Марта, 2010 - 20:33:35
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Спасибо всем! Сделал при помощи curl получилось то что хотелУлыбка Очень помогли
 
 Top
JustUserR Модератор
Отправлено: 08 Марта, 2010 - 22:08:14
Post Id



Эксперт


Покинул форум
Сообщений всего: 5854
Дата рег-ции: Июнь 2009  






Maksim337 пишет:
Спасибо всем!
Пожалуйста! Вообще CURL действительно удобная библиотека для работы с удаленными ресурсами - однако с помощью socktes можно работать вообще по любому протоколу в ручном режиме - а функции popen-оболочек лучше не использовать Улыбка

-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Хороший хостинг от 15 рублей в месяц (За 40 МБ места) - http://ihost.oks71.ru
Бесплатная учебная литература по программированию - http://progbook.ru
 
 Top
Maksim337
Отправлено: 09 Марта, 2010 - 17:34:31
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Вот к примеру есть такой прокси сервер! Допусти м рабочий анонимный!
200.19.159.35:3127

Вопрос. "Как можно зайти на сайт http://sait.ru c этого прокси?" То есть в итоге должен определиться айп этого прокси.
П.С. испольщую не с целью обойти, а с целью улучшить защиту сайта где я соодмин.
 
 Top
Maksim337
Отправлено: 09 Марта, 2010 - 20:24:37
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $query_post='username=Maks';
  3. $proxy=gethostbyaddr('163.221.11.72:3127');
  4. $ch = curl_init('http://sait.ru/hello.php');  # Инициализирует сеанс CURL
  5. curl_setopt($ch, CURLOPT_POST, 1);   # отправляем данные методом пост
  6. curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (M@K) "); # арбуз
  7. $headers = array(
  8. 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*;q=0.8',
  9. 'Accept-Language: ru,en-us;q=0.7,en;q=0.3',
  10. 'Accept-Encoding: deflate',
  11. 'Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7');
  12. curl_setopt($ch, CURLOPT_HTTPHEADER,$headers); # добавляем заголовков к нашему запросу. Чтоб смахивало на настоящи
  13. curl_setopt($ch, CURLOPT_PROXY, $proxy);  # прокси сервер.
  14. curl_setopt($ch, CURLOPT_POSTFIELDS, $query_post);  # post данные.
  15. curl_exec($ch); # выполняем запрос curl
  16. echo curl_error($ch);
  17. ?>

В общето скрипт должен вывести приветствуем вас Макс ваш ip (айпи прокси)
А выводит реальный мой айп, который беру из $ip=$_SERVER['REMOTE_ADDR'];
В идеале должно заходить через прокси(прокси анонимный), рабочий и выполнять запрос уже от туда. Мож че делаю не правильно, или не в том порядке?
 
 Top
Maksim337
Отправлено: 10 Марта, 2010 - 16:08:20
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






PHP:
скопировать код в буфер обмена
  1. <?PHP
  2. $query_post='username=userrrrrr';
  3. $ip='200.19.159.35';
  4. $port='3128';
  5. $proxy=$ip.':'.$port;
  6. $ch = curl_init('http://www.sait.tu');  # Инициализирует сеанс CURL
  7. curl_setopt($ch, CURLOPT_PROXY, $proxy);
  8. curl_setopt($ch, CURLOPT_POST, 1);   # отправляем данные методом пост
  9. curl_setopt ($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (M@K) "); # арбуз
  10. curl_setopt($ch, CURLOPT_POSTFIELDS, $query_post);  # post данные.
  11. curl_exec($ch); # выполняем запрос curl
  12. echo curl_error($ch);
  13. ?>

Вот при выполнении такого кода скрпит зависает, то есть грузиться и грузиться, если ограничить по времени выполнение то напишет что не смогло подсоидениться к хосту. Помогите пожалуйста, я не знаю что тут делать...Недовольство, огорчение
Я уже весь инет перерыл, по примерам работал и свое писал один результат... Прокси проверяю пишет рабочий анонимный... Что это может быть?
(Добавление)
504 Gateway Time-out вот что пишет, то есть выполняет долго. А почему?
 
 Top
JustUserR Модератор
Отправлено: 10 Марта, 2010 - 17:34:15
Post Id



Эксперт


Покинул форум
Сообщений всего: 5854
Дата рег-ции: Июнь 2009  






Maksim337 пишет:
504 Gateway Time-out вот что пишет, то есть выполняет долго. А почему?
Может быть proxy-серверзаблокирован для работы с данным ресурсом или например данный порт заблокирован там файерволом

-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Хороший хостинг от 15 рублей в месяц (За 40 МБ места) - http://ihost.oks71.ru
Бесплатная учебная литература по программированию - http://progbook.ru
 
 Top
Maksim337
Отправлено: 10 Марта, 2010 - 18:10:59
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Ну проверяю его, пишет рабочит и анонимный и заголовки возвращает типа все ок! Ответ сервера 200
Я уже в реале все пперепробыва...
(Добавление)
Прокси 100% рабочие! В оперу пишу все ок работает, айп меняеться. А вот когда через курл то чтото не пашет...
http://lycifer.ru/podmena.php
это скрипт где меняеться айп
http://lycifer.ru/ip.php
а это который курл открывает!
(Добавление)
Не решаемая проблема, а жальНедовольство, огорчение
 
 Top
JustUserR Модератор
Отправлено: 11 Марта, 2010 - 14:00:39
Post Id



Эксперт


Покинул форум
Сообщений всего: 5854
Дата рег-ции: Июнь 2009  






Maksim337 пишет:
Не решаемая проблема, а жаль
Поставьте Proxymition и смотрите какие реальные HTTP-запросы и ответу ведутся между вашим браузером и сервером и проверьте не упускаете ли вы чего

-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Хороший хостинг от 15 рублей в месяц (За 40 МБ места) - http://ihost.oks71.ru
Бесплатная учебная литература по программированию - http://progbook.ru
 
 Top
Maksim337
Отправлено: 11 Марта, 2010 - 15:17:40
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Я уже грешу на сервер.
 
 Top
JustUserR Модератор
Отправлено: 11 Марта, 2010 - 19:11:57
Post Id



Эксперт


Покинул форум
Сообщений всего: 5854
Дата рег-ции: Июнь 2009  






Maksim337 пишет:
Я уже грешу на сервер
В смысле на proxy-сервер или удаленный к которому вы пытаетесь получить доступ - действительно любой маршрут может быть заблокирован но раз ошибка 504 а не просто time-out то заблокирован путь от proxy к удаленному серверу - вы вручную пробовали заходить через этот proxy на этот удаленный сервер
Также вероятно ошибка может быть в том что даннй proxy-сервер неверно работает с CURL - в такомм случае только изучать его протокол и писать на sockets вручную

-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Хороший хостинг от 15 рублей в месяц (За 40 МБ места) - http://ihost.oks71.ru
Бесплатная учебная литература по программированию - http://progbook.ru
 
 Top
Maksim337
Отправлено: 11 Марта, 2010 - 20:02:12
Post Id


Full Member


Покинул форум
Сообщений всего: 236
Дата рег-ции: Июнь 2009  






Ошибка была 504 тайм аут, а грешил я на сервер где скрипт мой стоит, так как прокси проверил работала, хоть и медленно но не 30 сек... В итоге 2-х дней последним решил написать на хост, как я понимаю по новому виду сообщений об ошибках при работе с курл, то скорее всего они библиотеку курл обновили. В общем была проблема на хосте. Спасибо все за внимание особенно JustUserR. А всем у кого будет подобная ситуация с зависанием криптов при работе с курл, и если вы будете ставить готовый и рабочий пример и через рабочую прокси, а оно не будет работать, пишите сразу на хост в тех отдел! Меня еще и кодировать учили там, но всетаки нашли проблему у себяУлыбка
(Добавление)
На sockets уже действительно собирался писатьУлыбка
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 




 
Powered by ExBB FM 1.0 RC1. InvisionExBB