httpSocketConnection($host, $method, $path, $data) { global $Db; $method = strtoupper($method); if ($method == "GET") { $path.= '?'.$data; } $filePointer = fsockopen($host, 80, $errorNumber, $errorString); if (!$filePointer) { throw new Exception("Chyba spojeni $errorNumber $errorString"); } $requestHeader = $method." ".$path." HTTP/1.1\r\n"; $requestHeader.= "Host: ".$host."\r\n"; $requestHeader.= "User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1) Gecko/20061010 Firefox/2.0\r\n"; $requestHeader.= "Content-Type: application/x-www-form-urlencoded; charset=utf-8\r\n"; if ($method == "POST") { $requestHeader.= "Content-Length: ".strlen($data)."\r\n"; } $requestHeader.= "Connection: close\r\n\r\n"; if ($method == "POST") { $requestHeader.= $data; } fwrite($filePointer, $requestHeader); $responseHeader = ''; $responseContent = ''; do { $responseHeader.= fread($filePointer, 1); } while (!preg_match('/\\r\\n\\r\\n$/', $responseHeader)); if (!strstr($responseHeader, "Transfer-Encoding: chunked")) { while (!feof($filePointer)) { $responseContent.= fgets($filePointer, 128); } } else { while ($chunk_length = hexdec(fgets($filePointer))) { $responseContentChunk = ''; $read_length = 0; while ($read_length < $chunk_length) { $responseContentChunk .= fread($filePointer, $chunk_length - $read_length); $read_length = strlen($responseContentChunk); } $responseContent.= $responseContentChunk; fgets($filePointer); } } return chop($responseContent); }
Copyrights © - Joinc, All Rights Reserved. Inherited From - Yundream Rebranded By - Joonphil
php용 http socket 연결 함수
Recent Posts
Archive Posts
Tags