С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 02:25 |
Два вопроса:
1) Можно ли организовать цепочку из более чем одной прокси (fsockopen), как? киньте пример плз...
2) Можноли в библиотеке CURL не ресолвить домен, а обращаться напрямую к ипишнику, затем хедером "Host:" запросить нужный сайт,как?
|
|
|
|
С нами с 19.11.03
Сообщения: 3973
Рейтинг: 2362
|
Добавлено: 30/12/05 в 06:47 |
1.Нет.
2.Зачем?
По сабжу отсылаешь запрос проксе вот тебе и вся реализация.
|
|
|
|
В чем сила, БРАТ?
С нами с 22.03.05
Сообщения: 749
Рейтинг: 246
|
Добавлено: 30/12/05 в 11:55 |
можно чере тунелирование, конкретно незнаю как, но об этом читал. на браузере к примеру можно посторить цепочку сразу из нескольких прокси, я надеюсь и с ПХП такое можно сделать
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 14:45 |
Ну вообщем то ответы меня несовсем устраивают.
Поясняю более детально задачу.
Есть хост в локальной сети (192.168.1.10), на нем висят сайты (site1.com, site2.com, etc.), сайты эти нересолвятся.
С помощью fsockopen могу к ним обращаться.
Как с помощью Curl, можно к ним обратиться?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 30/12/05 в 17:54 |
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 18:46 |
Будь добр, если тебя незатруднит, выложи сюда пример, хотябы один по моей задаче?
Но мне кажется, что просто не всепонимают поставленную задачу.
Вот пример работы fsockopen:
Код: | <?
$fp = fsockopen("192.168.1.10", 80, $err1, $err2, 5);
if($fp){
fputs($fp, "GET /page.html HTTP/1.0\r\nHost: site1.com\r\n\r\n");
while(!feof($fp))$_row .= fgets($fp);
}
if(strlen($_row)>10)print "exist";
else print "not found";
?> |
www.site1.com - виртуальный сервер на апаче, неимеет реальных днс записей, чтоб можно было его прорезолвить.
Но я могу к нему обратиться.
Как этот же трюк проделать с помощью Curl'a?
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 30/12/05 в 19:40 |
Гм, тогда не уверен, но примерно так , хотя сам не пробовал
Код: |
$header[] = "Host: site1.com";
$header[] = "GET /page.html";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '192.168.1.10');
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
$data = curl_exec($ch);
|
т.е. послать нужный хедер самостоятельно
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 20:26 |
Примерно так я и делал. Но обратиться к нужному документу так и неполучается.
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 30/12/05 в 20:29 |
Ну почему же нет?...
Если прокся поддерживает метод CONNECT, то это вообще не проблема.
Коннектишься к проксе, просишь CONNECT IPaddrProxy:Port, после чего прокся ответит что-то вроде
Код: | HTTP/1.0 200 Connection established
Proxy-Agent: NetCache NetApp/5.4R2D2 |
и начинает работать как тунель. И так по цепочке...
|
|
|
|
www.phpdevs.com
С нами с 24.10.02
Сообщения: 16633
Рейтинг: 16105
|
Добавлено: 30/12/05 в 20:37 |
Ставь любой сниффер и смотри что именно шлется тогда.
|
|
Пишу на php/mysql/django за вменяемые деньги.
Обращаться в личку.
|
0
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 30/12/05 в 21:12 |
assault писал: | Ну почему же нет?...
Если прокся поддерживает метод CONNECT, то это вообще не проблема.
Коннектишься к проксе, просишь CONNECT IPaddrProxy:Port, после чего прокся ответит что-то вроде
Код: | HTTP/1.0 200 Connection established
Proxy-Agent: NetCache NetApp/5.4R2D2 |
и начинает работать как тунель. И так по цепочке... |
Тунелирование кое как сделал, даже работает, но обратиться к IP адресу конечного сервера, затем передать в header'e Host: site1.com неполучается. Конструкция "GET http://www.site1.com/page.html HTTP/1.0" работает с доменом, другие конструкции неработают. Но блин, я ж знаю что нет ничего невозможного, должно как то работать)
Вот дока по теме, помогла для тунелирования по соксам: http://www.nestor.minsk.by/sr/2003/04/30417.html
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 30/12/05 в 22:37 |
ibiz писал: | Тунелирование кое как сделал, даже работает, но обратиться к IP адресу конечного сервера, затем передать в header'e Host: site1.com неполучается. Конструкция "GET http://www.site1.com/page.html HTTP/1.0" работает с доменом, другие конструкции неработают. Но блин, я ж знаю что нет ничего невозможного, должно как то работать)
Вот дока по теме, помогла для тунелирования по соксам: http://www.nestor.minsk.by/sr/2003/04/30417.html |
не пойму я, что это там у тебя не работает...
у последнего прокси в цепочке (если таковая имеется, либо же у первого) просишь коннекта с таргет айпихой:порт. в твоем случае 192.168.1.10:80
далее "GET / HTTP/1.0\r\nHost: site.com\r\n\r\n"
понимэшь? то есть, ты не у прокси проси доставить УРЛ, а подключись к айпихе, где сайт лежит, и уже веб-сервер моли о доставке урла
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 31/12/05 в 00:14 |
assault писал: | не пойму я, что это там у тебя не работает...
у последнего прокси в цепочке (если таковая имеется, либо же у первого) просишь коннекта с таргет айпихой:порт. в твоем случае 192.168.1.10:80
далее "GET / HTTP/1.0\r\nHost: site.com\r\n\r\n"
понимэшь? :) то есть, ты не у прокси проси доставить УРЛ, а подключись к айпихе, где сайт лежит, и уже веб-сервер моли о доставке урла :) |
Ты про fsockopen говоришь, а я про CURL неработает там, точнее незнаю, как это сделать, и вообще возможноли)
|
|
|
|
С нами с 09.09.05
Сообщения: 148
Рейтинг: 129
|
Добавлено: 31/12/05 в 01:16 |
ibiz писал: | Ты про fsockopen говоришь, а я про CURL неработает там, точнее незнаю, как это сделать, и вообще возможноли) |
...бросай ружьё, да всплывай поскорей! (простоквашино)
тебе принципиально нужен курл? зааччееемм??? в первом вопросе топика ты говорил о фсоке...
на мое скромное ИМХО curl не нужен. к собачихе вам надо (антибумер)
|
|
|
|
С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 31/12/05 в 02:11 |
|
|
|
|