Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей.
Здесь обсуждаются безопасность, программирование, технологии и многое другое.
Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
 |
|

17.08.2009, 17:32
|
|
Познающий
Регистрация: 19.10.2006
Сообщений: 30
Провел на форуме: 312428
Репутация:
1
|
|
Проблема с сUrl
была задача парсить скрытый контент с одного сайта для этого использовался cUrl некоторое времяпарсен работал нормально через прокси обращалсяк нужной страницы передавал куки и забирал нужный контент, через некоторое время перестал работать с нужными куками хотя если просто открываешь страницу с теми куками то все нормально
вот часть кода которая отвечает за загрузку страницы
PHP код:
$url="тут адрес страницы";
$ua = 'User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1.2) Gecko/20090729 Firefox/3.5.2 WebMoney Advisor';
$ch=curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $ua);
curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_COOKIE, "тут куки");
$ret = curl_setopt($ch, CURLOPT_PROXY, 'прокси');
//$ret = curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'login:password');
//$ret = curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$string1=curl_exec($ch);
может кто подскажет в чем может быть причина
|
|
|

17.08.2009, 17:42
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
попробуй добавить
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
|
|
|

17.08.2009, 17:52
|
|
Познающий
Регистрация: 19.10.2006
Сообщений: 30
Провел на форуме: 312428
Репутация:
1
|
|
нет не помогло(
еще добавил строчку
curl_setopt($ch, CURLOPT_REFERER, "http://www.google.com");
|
|
|

17.08.2009, 17:54
|
|
Динозавр
Регистрация: 10.01.2008
Сообщений: 2,841
Провел на форуме: 9220514
Репутация:
3338
|
|
tamper data и смотри, что шлет, какой рефер и т.д.
|
|
|

17.08.2009, 18:29
|
|
Познающий
Регистрация: 19.10.2006
Сообщений: 30
Провел на форуме: 312428
Репутация:
1
|
|
шлет все тоже самое что и я добавил только заголвки еще в код
PHP код:
$this1->headers[] = 'Host: http://www.адрес того сайта';
$this1->headers[] = 'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8';
$this1->headers[] = 'Accept-Language: en-us,en;q=0.7,ru;q=0.3';
$this1->headers[] = 'Accept-Encoding: gzip,deflate';
$this1->headers[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$this1->headers[] = 'Connection: keep-alive';
$this1->headers[] = 'Keep-alive: 300';
$this1->headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8';
и изменил на такую строчку заголвок
PHP код:
curl_setopt($ch, CURLOPT_HEADER, $this1->headers);
|
|
|

17.08.2009, 18:39
|
|
Познавший АНТИЧАТ
Регистрация: 07.05.2006
Сообщений: 1,031
Провел на форуме: 5885100
Репутация:
773
|
|
как куки выглядят? может с ними чтото...
попробуй сначала послать запрос на страницу логина а потом
PHP код:
preg_match_all('#Set-Cookie:\s([^;]*);#is', $string1, $gets);
$coc = join(';', $gets[1]);
юзай этьи куки.....
|
|
|

17.08.2009, 18:42
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
если куки берутся и передаются, самое тру использовать
PHP код:
curl_setopt($curl, CURLOPT_COOKIEFILE, "cookiefile.txt");
curl_setopt($curl, CURLOPT_COOKIEJAR, "cookiefile.txt");
|
|
|

17.08.2009, 19:12
|
|
Banned
Регистрация: 15.08.2009
Сообщений: 7
Провел на форуме: 58514
Репутация:
-64
|
|
Нахера выдирать куки регуляркой и уж тем более хранить их в файле, если можно просто поставить опцию curl_setopt($curl, CURLOPT_COOKIELIST, "") и войти на сайт.
И в дальнейшем использовать этот один курл хэндл на все запросы (не ебя себе мозг), только меняя url.
Переключение между post и get запросами осуществляется curl_setopt($curl, CURLOPT_POST, 1) и curl_setopt($curl, CURLOPT_HTTPGET, 1) соответственно.
Последний раз редактировалось h4xx0r; 17.08.2009 в 19:16..
|
|
|

17.08.2009, 19:23
|
|
Постоянный
Регистрация: 03.06.2009
Сообщений: 385
Провел на форуме: 3178262
Репутация:
389
|
|
Сообщение от h4xx0r
Нахера выдирать куки регуляркой и уж тем более хранить их в файле, если можно просто поставить опцию curl_setopt($curl, CURLOPT_COOKIELIST, "") и войти на сайт.
И в дальнейшем использовать этот один курл хэндл на все запросы (не ебя себе мозг), только меняя url.
Переключение между post и get запросами осуществляется curl_setopt($curl, CURLOPT_POST, 1) и curl_setopt($curl, CURLOPT_HTTPGET, 1) соответственно.
Что бы ты спросил неудачнег!!!
пхп-шный курл не держит CURLOPT_COOKIELIST
|
|
|

17.08.2009, 19:31
|
|
Постоянный
Регистрация: 17.09.2008
Сообщений: 562
Провел на форуме: 6962560
Репутация:
536
|
|
Да выложил бы "тут адрес страницы" давно бы уже сказали что не так...
|
|
|
|
 |
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
|
|