Спустя 12 часов, 55 минут, 26 секунд (5.03.2012 - 11:49) Rigel написал(а):
file_get_contents
Спустя 6 минут, 38 секунд (5.03.2012 - 11:56) kent666 написал(а):
Вообще лучше использовать сокеты!
Через функцию fsockopen к примеру можно отправлять заголовки стороннему сайту (то есть можно воссоздать эмуляцию пользователя, что бы твой сервер не восприняли как бот).
Для простоты можно еще использовать библиотеку cURL.
Но опять же если тебе эти ньюансы не нужны используй file_get_contents
Через функцию fsockopen к примеру можно отправлять заголовки стороннему сайту (то есть можно воссоздать эмуляцию пользователя, что бы твой сервер не восприняли как бот).
Для простоты можно еще использовать библиотеку cURL.
Но опять же если тебе эти ньюансы не нужны используй file_get_contents
Спустя 9 минут, 16 секунд (5.03.2012 - 12:05) Rigel написал(а):
kent666
Хм, значит теоретически, с помощью сокетов на php можно написать бота для браузерной игры?
Хм, значит теоретически, с помощью сокетов на php можно написать бота для браузерной игры?
Спустя 35 минут, 39 секунд (5.03.2012 - 12:41) killer8080 написал(а):
Цитата (kent666 @ 5.03.2012 - 10:56) |
Через функцию fsockopen к примеру можно отправлять заголовки стороннему сайту (то есть можно воссоздать эмуляцию пользователя, что бы твой сервер не восприняли как бот). |
Это можно сделать и через file_get_contents()
Спустя 3 часа, 22 минуты, 58 секунд (5.03.2012 - 16:04) kent666 написал(а):
Цитата |
Это можно сделать и через file_get_contents() wink.gif |
Как именно?
file_get_contents() мы не можем прописать заголовки отправляемые на сторонний сервер!
Спустя 5 минут, 19 секунд (5.03.2012 - 16:09) killer8080 написал(а):
Цитата (kent666 @ 5.03.2012 - 15:04) |
file_get_contents() мы не можем прописать заголовки отправляемые на сторонний сервер! |
И прописать можем, и принять ответные заголовки сервера можем, и через прокси ходить, то же можем
Спустя 8 минут, 13 секунд (5.03.2012 - 16:17) kent666 написал(а):
в описаниях функции ничего такого не написано!
Спустя 15 минут, 43 секунды (5.03.2012 - 16:33) killer8080 написал(а):
Цитата (kent666 @ 5.03.2012 - 15:17) |
в описаниях функции ничего такого не написано! |
а для чего по твоему нужен контекст, 3-й аргумент функции?
Спустя 38 минут, 30 секунд killer8080 написал(а):
kent666
вот накидал пример отправки пост запроса через прокси 127.0.0.1:8080, с юзерагентом и сессионными куками.
$url = 'http://site.ru/index.php';
$opts['http']['method'] = 'POST';
$opts['http']['content'] = 'post_var1=val1&post_var2=val2';
$opts['http']['header'] = "Content-Type: application/x-www-form-urlencoded\r\n".
"User-Agent: I am bot )))))\r\n".
"Cookie: PHPSESSID=gggggg";
$opts['http']['proxy'] = '127.0.0.1:8080';
$opts['http']['request_fulluri'] = true;
$context = stream_context_create($opts);
$content = file_get_contents($url, false, $context);
echo '<pre>'.print_r($http_response_header, 1).'</pre>'; // ответные заголовки сервера
echo '<pre>'.htmlspecialchars($content).'</pre>'; // контент