PHP: $sock = fsockopen("www.ssndob.cc", 80, $errno, $errstr, 300); //if (!$sock) die("$errstr ($errno)\n"); fputs($sock, "GET /login HTTP/1.0\r\n"); fputs($sock, "Host: ssndob.cc/\r\n"); fputs($sock, "User-Agent: User-Agent=Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0\r\n"); fputs($sock, "Connection: keep-alive\r\n"); fputs($sock, "\r\n"); while(!feof($sock)) $answer[]=fgets($sock); echo "<pre>"; print_r($answer); echo "</pre>"; fclose($sock); В результате ответ сервера: Что это такое я пока что не сильно понимаю, похоже на какую-то защиту. При этом, если я с этого же IP адреса подключаюсь к этому сайту с браузера - все нормально. В чем моя ошибка?
Это cloudfare, как подсказывает вам лог. Code: fputs($sock, "Host: ssndob.cc[b]/[/b]\r\n"); Слеш уберите. Он в этом заголовке не должен быть. Сервер считает его некорректным и думает, что вы обратились по ip напрямую.
Спасибо за ответ, слеш убрал, но ничего не изменилось. Ситуация абсолютна такая же, ответ сервера тот же.
У меня ответ сервера не такой как у тебя, а появляется стандартная защита Cloudflare "Checking your browser before accessing" с формой antibot проверки. Видимо, твой сервер, с которого ты свой скрипт запускаешь забанен в CloudFlare.