Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Выполнить удаленный урл и вернуться на "место". / 17 сообщений из 17, страница 1 из 1
13.12.2012, 03:19
    #38076923
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Если на текущем сервере нельзя запользовать json_decode и file_get_content (в особенности его), то как можно выполнить некий урл, который делает нечто на удаленном сервере и после выполнения (или сразу) вернуться на место, откуда был запущен скрипт

PHP.
...
Рейтинг: 0 / 0
13.12.2012, 05:34
    #38076944
r u
r u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
_Промешан_,

если нельзя использовать file_get_content то наверное запрещены и все другие функции подобные.
перебирайте их все. curl, fopen...
...
Рейтинг: 0 / 0
13.12.2012, 12:10
    #38077334
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
r u_Промешан_,

если нельзя использовать file_get_content то наверное запрещены и все другие функции подобные.
перебирайте их все. curl, fopen...

Можно еще shell-подобные команды попробовать, хотя их запрещают первым делом, но не всегда xD
...
Рейтинг: 0 / 0
13.12.2012, 12:12
    #38077342
phpz
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
phpz,

+ поиграться с сокетами
...
Рейтинг: 0 / 0
13.12.2012, 15:26
    #38077924
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
fopen работает. curl-а нету.
фопен то тут никак не поможет?
А еще варианты?

А то только и получается что ЯСом с дурацким setTimeout и window.location = <?=$Referer?>.
...
Рейтинг: 0 / 0
13.12.2012, 15:27
    #38077925
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Какие шелл команды пробовать и каким образом из php-скрипта запулять?
...
Рейтинг: 0 / 0
13.12.2012, 15:49
    #38077989
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
_Промешан_фопен то тут никак не поможет?

почему не поможет. Конечно курлом легче и круче, но у меня все парсеры сначала на сокетах писались, только потом я их на курл пересаживал. Если всё делать правильно, то чистые сокеты почти ничем не уступают курлам...
...
Рейтинг: 0 / 0
13.12.2012, 15:52
    #38077997
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Програмёр_Промешан_фопен то тут никак не поможет?

почему не поможет. Конечно курлом легче и круче, но у меня все парсеры сначала на сокетах писались, только потом я их на курл пересаживал. Если всё делать правильно, то чистые сокеты почти ничем не уступают курлам...подскажете? Я не в зуб ногой про сокеты. Точнее как то пробовал дааавно разобраться да и то не в веб-версии, нотак и не разобрался.
...
Рейтинг: 0 / 0
13.12.2012, 17:37
    #38078257
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Нашел сие: http://forum.php.su/topic.php?forum=1&topic=2031&postid=1239527457#1239527457

Только пишет мне сервер: Fatal error: Call to undefined function socket_create()
...
Рейтинг: 0 / 0
13.12.2012, 17:45
    #38078272
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
_Промешан_Програмёрпропущено...

почему не поможет. Конечно курлом легче и круче, но у меня все парсеры сначала на сокетах писались, только потом я их на курл пересаживал. Если всё делать правильно, то чистые сокеты почти ничем не уступают курлам...подскажете? Я не в зуб ногой про сокеты. Точнее как то пробовал дааавно разобраться да и то не в веб-версии, нотак и не разобрался.
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
            //вместо [что-то там] вставь свои значения
            $packet="GET [полный url куда стучимся] HTTP/1.0\r\n"
            ."Host: [хост на который стучимся]\r\n"
            ."Accept: text/html\r\n"
            ."Referer: [страница с которой пришли]\r\n"
            ."User-Agent: [строка идентификации любого браузера, у меня просто script было]\r\n"
            ."Pragma: no-cache\r\n"
            ."Cache-Control: no-cache\r\n"
            ."Content-Type: application/x-www-form-urlencoded\r\n"
            ."Connection: close\r\n\r\n";
            $res='';
            $f=fsockopen($host, 80); //открыли соединение по 80-му порту
            if($f){
                fputs($f,$packet); //отправили http запрос
                while ($temp = fgets($f) !==false){ //пока получаем данные
                    $res.=$temp;                          //записываем в переменную
                }
                fclose($f) //закрыли
            }else{die('не смог соединиться');} //если не смогли открыть
            echo $res; //результат - html страница (с http заголовками)


Если ничего не забыл, то всё должно работать.
...
Рейтинг: 0 / 0
13.12.2012, 17:48
    #38078276
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
_Промешан_Нашел сие: http://forum.php.su/topic.php?forum=1&topic=2031&postid=1239527457#1239527457

Только пишет мне сервер: Fatal error: Call to undefined function socket_create()

да, помню тоже такое писало... просто через fsockopen можно только tcp соединение создать, как я помню, а через socket_create - любое. Поэтому на хостингах в целях безопасности последние запрещаются. ))
...
Рейтинг: 0 / 0
13.12.2012, 18:06
    #38078307
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Програмёр_Промешан_Нашел сие: http://forum.php.su/topic.php?forum=1&topic=2031&postid=1239527457#1239527457

Только пишет мне сервер: Fatal error: Call to undefined function socket_create()

да, помню тоже такое писало... просто через fsockopen можно только tcp соединение создать, как я помню, а через socket_create - любое. Поэтому на хостингах в целях безопасности последние запрещаются. ))Гм. Сработало.
yandsearch?text=1&lr=213 вернул 1111111NULL


А таймаут в заголовке никакой не надо указывать? Точнее как это сделать?
...
Рейтинг: 0 / 0
13.12.2012, 18:53
    #38078367
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Интересно, a echo var_dump($e), где $e - результат выполнения запроса для yandsearch..., равный 1111111NULL - адекватный?
...
Рейтинг: 0 / 0
13.12.2012, 19:39
    #38078419
Програмёр
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
_Промешан_Интересно, a echo var_dump($e), где $e - результат выполнения запроса для yandsearch..., равный 1111111NULL - адекватный? наверное я просто $temp = fgets($f) забыл в скобочки взять... попробуй.
...
Рейтинг: 0 / 0
14.12.2012, 02:04
    #38078759
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Програмёр_Промешан_Интересно, a echo var_dump($e), где $e - результат выполнения запроса для yandsearch..., равный 1111111NULL - адекватный? наверное я просто $temp = fgets($f) забыл в скобочки взять... попробуй.
Я тоже заметил, но виду не подал )))


Объясни плиз, имеет какой смысл ставить на поток тайм-аут? Например для ожидания ответа или сокеты сами за это заботятся?
...
Рейтинг: 0 / 0
14.12.2012, 02:35
    #38078765
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Да, а вот тут возник вопрос, а как отправлять запрос на HTTPS?
Даже при проставке порта 443 пишет:

Код: plaintext
1.
2.
Server: nginx/1.2.4 Date: Thu, 13 Dec 2012 22:33:40 GMT Content-Type: text/html Content-Length: 270 Connection: close
400 Bad Request
The plain HTTP request was sent to HTTPS port
...
Рейтинг: 0 / 0
14.12.2012, 03:00
    #38078776
_Промешан_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнить удаленный урл и вернуться на "место".
Реализовал!

для 443 порта к хосту во fsockopen надо добавлять префикс 'ssl://'.

И я сделал HTTP 1.1

А нормальных грабберов контента не обнаружил, только постаринке через substr и stripos($a,'\r\n\r\n');
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Выполнить удаленный урл и вернуться на "место". / 17 сообщений из 17, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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