| |
|
|
| | Вопрос такой...
по примеру рамблера...
по поиску в новостях после 45 стрницы, вот например
http://www.rambler.ru/cgi-bin/news_search?oe=1251&words=%EC%E0%F8%E8%ED%E0&start=46
ссылки идут такого типа.
http://www.rambler.ru/db/news/msg.html?mid=8829725&s=11
в веб интерфейсе при нажатии переходит на
http://www.rambler.ru/news/events/0/8829725.html
как получить из
http://www.rambler.ru/db/news/msg.html?mid=8829725&s=11
вот эту
http://www.rambler.ru/news/events/0/8829725.html
??? | |
| |
|
|
| |
|
|
| |
для: racoon
(12.04.2007 в 19:11)
| | | Думай в сторону модреврайта | |
| |
|
|
| |
|
|
| |
для: mr dee
(13.04.2007 в 01:04)
| | | а можно привести пример? или хотябы сказать какой оператор.... | |
| |
|
|
| |
|
|
| |
для: mr dee
(13.04.2007 в 01:04)
| | | почитал про mod_rewrite...это мод делает такой эффект напиример себе на сайт, а мне нужно стянуть инфу по этой ссылке...
ибо если я например делаю file_get_contents("http://www.rambler.ru/db/news/msg.html?mid=8820391")
то контент не копируется так как эта ссылка настроена на переадресацию вот на эту http://www.rambler.ru/news/culture/ukraine/8820391.html
вот мне и надо получить вторую ссылку, чтобы потом уже захватить с нее контент. | |
| |
|
|
| |
|
|
| |
для: racoon
(13.04.2007 в 11:09)
| | | file_get_contents не читает заголовки документа. С ним у Вас ничего не выйдет.
Используйте сокеты или curl | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 11:16)
| | | каким образом?
попробовал вот так
<?php
$fp = fsockopen("www.rambler.ru", 80);
if ($fp) {
$out = "GET /db/news/msg.html?mid=8826743&s=2 HTTP/1.1\r\n";
$out .= "Host: www.rambler.ru\r\n";
$out .= "Connection: Close\r\n\r\n";
fputs($fp, $out);
echo '<pre>';
while(!feof($fp)) echo fgets($fp);
echo '</pre>';
fclose($fp);
}
?>
думал в ответе сервера будет перенаправляющая ссылка, а нету... | |
| |
|
|
| |
|
|
| |
для: racoon
(13.04.2007 в 16:24)
| | | А что ж там в ответе? | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 17:01)
| | | HTTP/1.1 302 Moved Temporarily
Server: nginx/0.5.17
Date: Fri, 13 Apr 2007 12:24:14 GMT
Content-Type: text/html
Content-Length: 161
Location: http://www.rambler.ru/news/msg.html?mid=8826743&s=2
Connection: close
Set-Cookie: ruid=AQAAAG52H0awkgAAAdynFAB=; expires=Thu, 31-Dec-37 23:55:55 GMT; domain=.rambler.ru; path=/
P3P: CP="NON DSP NID ADMa DEVa TAIa PSAa PSDa OUR IND UNI COM NAV" | |
| |
|
|
| |
|
|
| |
для: racoon
(13.04.2007 в 17:13)
| | | И Вы полагаете, что ответ HTTP/1.1 302 Moved Temporarily вкупе с Location: http://www.rambler.ru/news/msg.html?mid=8826743&s=2 не является перенаправлением?! | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 17:19)
| | | поидее при нажатие на http://www.rambler.ru/news/msg.html?mid=8826743&s=2
он перенаправляет на http://www.rambler.ru/news/russia/0/8826743.html
вот второй, куда он перенаправляет, там нету... | |
| |
|
|
| |
|
|
| |
для: racoon
(13.04.2007 в 17:38)
| | | Там есть первая. Там есть запрос на установку кукис.
Вы этому последовали?
Пока не последуете - не будет Вам второй ссылки. | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 18:22)
| | | хм...
что то типа токого?
SetCookie("ruid","AQAAAPbAH0ZzAAEAAegwGQB=");
SetCookie("expires",".rambler.ru");
и потом еще один запрос делать?
помогите плз, или скажите я хоть правельно иду... | |
| |
|
|
| |
|
|
| |
для: racoon
(13.04.2007 в 21:46)
| | | Этими функциями Ваш сервер пытается установить кукис на чужом браузере.
А у Вас задача - самому прикинуться браузером. Т.е. воспринять команду установки кук со стороны чужого сервера. | |
| |
|
|
| |
|
|
| |
для: Trianon
(13.04.2007 в 21:57)
| | | агаа, нашел немного инфы, вот что пытаюсь сделать....
<?php
$hostname = "www.rambler.ru";
$path = "/db/news/msg.html?mid=8826743&s=2";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$headers = "GET $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers);
while (!feof($fp))
{
$line = fgets($fp, 1024);
preg_match("|Set-Cookie: ruid=([^~]*);|i",$line,$out);
if(!empty($out[1]))
{
$SID = $out[1];
break;
}
}
fclose($fp);
}
$hostname = "www.rambler.ru";
$path = "/db/news/msg.html?mid=8826743&s=2";
$line = "";
$fp = fsockopen($hostname, 80, $errno, $errstr, 30);
if (!$fp) echo "$errstr ($errno)<br />\n";
else
{
$data = "ruid=$SID";
$headers = "POST $path HTTP/1.1\r\n";
$headers .= "Host: $hostname\r\n";
$headers .= "Content-type: application/x-www-form-urlencoded\r\n";
$headers .= "Content-Length: ".strlen($data)."\r\n";
$headers .= "Cookie: ruid=$SID;\r\n";
$headers .= "Connection: Close\r\n\r\n";
fwrite($fp, $headers.$data);
while (!feof($fp))
{
$line .= fgets($fp, 1024);
}
fclose($fp);
}
echo $line;
?>
выдает вот что
HTTP/1.1 302 Moved Temporarily
Server: nginx/0.5.17
Date: Fri, 13 Apr 2007 20:47:19 GMT
Content-Type: text/html
Content-Length: 161
Location: http://www.rambler.ru/news/msg.html?mid=8826743&s=2
Connection: close | |
| |
|
|
| |
|
|
| |
для: racoon
(14.04.2007 в 00:48)
| | | уже 3 день немогу норм заставить принимать куки, помогите плз.... | |
| |
|
|
| |
|
|
| |
для: racoon
(16.04.2007 в 11:28)
| | | может поможет
Подделка cookies и сессий | |
| |
|
|
| |
|
|
| |
для: racoon
(14.04.2007 в 00:48)
| | | хм, в выше приведеном примере он не запрашивает у меня установить куки уже, это типа работает?
HTTP/1.1 302 Moved Temporarily
Server: nginx/0.5.17
Date: Fri, 13 Apr 2007 20:47:19 GMT
Content-Type: text/html
Content-Length: 161
Location: http://www.rambler.ru/news/msg.html?mid=8826743&s=2
Connection: close
но ссылкуто он всеравно не выдает... | |
| |
|
|
| |
|
|
| |
для: racoon
(16.04.2007 в 13:01)
| | | может запрос не правельно составлен, потомучто прочитал, что браузер должен сам вроде как запросить страницу...
блин сам с собой разговариваю...(( | |
| |
|
|
| |
|
|
| |
для: racoon
(16.04.2007 в 13:07)
| | | попробуйте например
и вообще побольше отправлять заголовков попытайтесь | |
| |
|
|
| |
|
|
| |
для: KPETuH
(16.04.2007 в 13:17)
| | | Какой там keep-alive. Автору с HTTP 1.0 не справиться, а Вы предлагаете расширения 1.1 применять. Он там вообще увязнет по самые полуоси. 1.1 - протокол на полтора порядка сложнее. | |
| |
|
|
| |
|
|
| |
для: Trianon
(16.04.2007 в 13:27)
| | | :)) вообще совет посмотреть снифером какие заголовки отправляются и отправлять такие же и в таком же количестве... | |
| |
|
|
| |
|
|
| |
для: KPETuH
(16.04.2007 в 13:31)
| | | еее я разобрался ))
всем спс | |
| |
|
|
| |
 41 байт |
|
| |
для: racoon
(16.04.2007 в 14:56)
| | | удалено | |
| |
|
|
| |
|
|
| |
для: tricket
(18.06.2007 в 00:00)
| | | :) | |
| |
|
|