проблема с curl
1.
Dmitry Kokorin (04.02.2015 / 20:07)
<?php
function getGame($patch){
$appid = 30339;
$ch = curl_init("http://".$patch."/?channelId=".$appid);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$game = curl_exec($ch);
curl_close($ch);
echo $game;
}
?>
<div class="game"><?php getGame()?></div>
В итоге выводится пустой див
В чем косяк
2.
ramzes (05.02.2015 / 02:21)
попробуй передать url xD
3.
Александр (05.02.2015 / 02:28)
я так полагаю граб
http://mobsee.ru/ делаешь?
4.
Dmitry Kokorin (05.02.2015 / 02:58)
4.
A.Great, нет это не граб, Это вывод игры
Добавлено через 05:26 сек.
3.
ramzes,
<?php
function getGame($patch){
$appid = 30339;
$url = "http://".$patch."/?channelId=".$appid;
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$game = curl_exec($ch);
curl_close($ch);
echo $game;
}
5.
Nervous (05.02.2015 / 03:24)
A.Great (5 Февраля 2015 / 02:28)
я так полагаю граб http://mobsee.ru/ делаешь?
К чему ты написал свой пост?
6.
Dmitry Kokorin (05.02.2015 / 03:45)
<?php
function getGame($patch){
$appid = 30339;
$url = "http://".$patch."/?channelId=".$appid;
$ua = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,0);
curl_setopt($ch, CURLOPT_HTTPHEADER, $ua);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
$game = curl_exec($ch);
if($game === false){
echo "cURL Error: ".curl_error($ch);
curl_close($ch);
}else{
curl_close($ch);
echo $game;
}
}
Добавлено через 01:06 сек.
Warning: curl_setopt() [function.curl-setopt]: You must pass either an object or an array with the CURLOPT_HTTPHEADER, CURLOPT_QUOTE, CURLOPT_HTTP200ALIASES and CURLOPT_POSTQUOTE arguments in /home/w/window/flirtzona.ru/public_html/app/app.php on line 12
HTTP/1.1 302 Moved Temporarily Server: nginx/1.2.1 Date: Thu, 05 Feb 2015 00:43:32 GMT Content-Length: 0 Connection: keep-alive Location:
http://naemniki.mobi/home/channelId/30339 1
7.
Dmitry Kokorin (05.02.2015 / 04:18)
<?php
function getGame($patch){
$appid = 30339;
$url = "http://".$patch."/?channelId=".$appid;
$ua = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$game = curl_exec($ch);
if($game === false){
echo '<div class="error">cURL Error: '.curl_error($ch).'</div>';
}
curl_close($ch);
echo $game;
}
400 Bad Request
nginx/1.2.1
1
8.
Dmitry Kokorin (05.02.2015 / 04:28)
зы: пробовал через file_get_contents() -> 400 bad request аналогично
9.
Александр (05.02.2015 / 08:52)
Дай полную ссылку по которой обращаешься.
10.
Александр (05.02.2015 / 09:17)
<?php
$curl = curl_init();
curl_setopt($curl, CURLOPT_URL, 'http://naemniki.mobi/home/channelId/30339');
curl_setopt($curl, CURLOPT_HEADER, 0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($curl, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($curl, CURLOPT_MAXREDIRS, 1);
echo $content = curl_exec($curl);
curl_close($curl);
?>
Выводит всю страницу все норм.
11.
karpov-ml (05.02.2015 / 09:32)
там редирект и куку пишет. Возможно из-за этого что-то.
Добавлено через 06:00 сек.
function getGame($patch){
$appid = 30339;
$url = "http://".$patch."/".$appid;
$ua = $_SERVER['HTTP_USER_AGENT'];
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_REFERER, $_SERVER['HTTP_HOST']);
curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 3);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
$game = curl_exec($ch);
if($game === false){
echo '<div class="error">cURL Error: '.curl_error($ch).'</div>';
}
curl_close($ch);
echo $game;
}
echo getGame('naemniki.mobi/landing/channelId')
так нормально работает
12.
Dmitry Kokorin (05.02.2015 / 18:06)
12.
karpov-ml, работает, но стили и картинки не выводит
Скрытый контент: Для выполнения действия необходимо авторизоваться!
13.
Александр (05.02.2015 / 20:15)
DimmoS (5 Февраля 2015 / 18:06)
12. karpov-ml, работает, но стили и картинки не выводит
Скрытый контент: Для выполнения действия необходимо авторизоваться!
Ясен фиг что не будет выводить, нужно заменять пути на абсолютные с доменом игры то есть например ".style/style.css" на "game.ru/style/style.css"
Добавлено через 00:53 сек.
Не проще игру во фрейме открывать?
14.
Dmitry Kokorin (05.02.2015 / 21:13)
14.
klesh, не не проще, там счетчик мобтоп! Он траф пи**дит, сразу переадресации на мобтоп!
Добавлено через 01:04 сек.
кто в JS знает как отменить событие?
Добавлено через 02:03 сек.
14.
klesh, зы: стили и картинки у меня на хосте есть все по полочкам
Добавлено через 02:57 сек.
интересно как на одноклассниках это реализовано?
15.
Александр (05.02.2015 / 21:27)
15.
DimmoS, на одноклассниках все просто API когда заходишь в игру через ОК передаются данные что то типа уникального ключа пользователя по которому создается для него аккаунт и проходит авторизация, а то что сверху и снизу полоски от ОК это уже сделано в самой игре и выводятся тем кто авторизован через ОК. А не curl'ом парсят страницы =)
Добавлено через 00:54 сек.
А еще для этого всего нужно скрипт игры настраивать под их API.
16.
Dmitry Kokorin (05.02.2015 / 23:03)
я связввался с техподдержкой овермобаил они сказали что с их стороны не предусмотрено никакой интеграции,
с фреймом как-бы проблем нет, За исключением того что там у них стоит счетчик мобтоп, На нем javascript который перехватывает траф с фрейма! Если знает кто вариант отмены переадресации на js Плюсану!
17.
karpov-ml (06.02.2015 / 01:35)
В упор не вижу у них мобтоп, возможно где-то установлен внутри уже...
Как вариант, скопипастить HTML страницу, если конечно я правильно понял, что нужна тебе только страница входа
Больше никак скорей всего, не граббер же писать всей игры
18.
Антон (06.02.2015 / 06:16)
18.
karpov-ml, вырезать скрипт, как же ещё.
19.
Dmitry Kokorin (06.02.2015 / 08:57)
Ладно, пока ссылку поставил на игру.. Потом найду способ..
URL:
https://visavi.net/topics/41966