Autor | Zpráva | ||
---|---|---|---|
ybznek Profil |
#1 · Zasláno: 12. 1. 2008, 20:57:07
Ahoj stáhl jsem si z http://cz.php.net/fsockopen funkci
function httpSocketConnection($host, $method, $path, $data) { $method = strtoupper($method); if ($method == "GET") { $path.= '?'.$data; } $filePointer = fsockopen($host, 80, $errorNumber, $errorString); if (!$filePointer) { logEvent('debug', 'Failed opening http socket connection: '.$errorString.' ('.$errorNumber.')<br/>\n'); return false; } $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\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 = ''; logEventToTextFile('debug', $chunk_length); $read_length = 0; while ($read_length < $chunk_length) { $responseContentChunk .= fread($filePointer, $chunk_length - $read_length); $read_length = strlen($responseContentChunk); } $responseContent.= $responseContentChunk; fgets($filePointer); } } logEventToTextFile('debug', $responseContent); return chop($responseContent); } a nějak se mi jí nedaří použít. Prosím o příklad použití s metodou POST. btw funkce logEvent... - mi to nenašlo |
||
BetaCam Profil |
#2 · Zasláno: 13. 1. 2008, 02:53:47
ybznek
btw funkce logEvent... - mi to nenašlo Funkce logEvent a s největší pravděpodobností i logEventToTextFile budou zdřejmě uživatelem definované funkce, proto je logické, že ti je to nemůže najít. Já běžně používám $this->log->write('Debug', 'Třída ABC byla inicializována'); , ale je logické, že tobě by to nemohlo fungovat když nemáš třídu Log s metodou Write. Stejné je to s tou funkcí. Takže si to volání funkce odmaž nebo si tu funkci nadefinuj. Až toto uděláš napiš co přesně ti na tom nefunguje. |
||
ybznek Profil |
#3 · Zasláno: 13. 1. 2008, 10:26:39
BetaCam
Ty funkce jsem odmazal a i pak to nešlo, tak mě napadlo, že ty funkce tam být měly... Nakonec jsem tu funkci "nějak" použil :-) |
||
Časová prodleva: 16 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0