PHP WebSocket2 Library
PHP5 Library for browsing web
WebProxy Class Reference

Web proxy base class. More...

Inheritance diagram for WebProxy:
HttpSocket HttpProxy SocksProxy Socks4AProxy Socks4Proxy Socks5Proxy

Public Member Functions

 __construct ($address, $port)
 Constructor. More...
 
 setAuth ($login, $password)
 Sets login and password for proxy. More...
 
 getLogin ()
 Returns login for proxy. More...
 
 getPassword ()
 Returns password for proxy. More...
 
 hasAuth ()
 Returns true if proxy needs to be authenticated. More...
 
 setSocket (HttpSocket $socket)
 Sets socket for proxy. This can be another proxy or network socket. More...
 
 writeRaw ($request)
 
- Public Member Functions inherited from HttpSocket
 __destruct ()
 Destructor.
 
 sendRequest (WebRequest $request)
 Sends request to socket and returns response. More...
 
 writeRaw ($request)
 Writes raw data to socket. More...
 

Protected Member Functions

 open ($address, $port)
 
 read ($size)
 
 close ()
 
 isOpen ()
 
 readLength ($length, $headers, WebRequest $request, &$aborted)
 
 readAll ($headers, WebRequest $request)
 
- Protected Member Functions inherited from HttpSocket
 open ($address, $port)
 Opens socket. More...
 
 read ($size)
 Reads raw data from socket. More...
 
 close ()
 Closes socket.
 
 isOpen ()
 Returns true if socket is open. More...
 
 readChunked ($headers, WebRequest $request)
 Reads chunked content from socket and puts chunks to single string. More...
 
 readLength ($length, $headers, WebRequest $request, &$aborted)
 Reads data with specified length from socket. If socket closes connection or no more data is available to reach length, throws WebRequestException. More...
 
 readAll ($headers, WebRequest $request)
 Reads all available data from socket until it closes connection. More...
 
 readUntil ($text)
 Reads all available data from socket until specified substring is found inside contents. More...
 
 readHeaders ()
 Reads response headers. More...
 
 write (WebRequest $request)
 Writes request to socket. More...
 

Protected Attributes

 $socket = null
 
 $login = null
 
 $password = null
 
 $address
 
 $port
 

Detailed Description

Web proxy base class.

Constructor & Destructor Documentation

__construct (   $address,
  $port 
)

Constructor.

Parameters
string$addressProxy address (hostname or IPv4 address)
int$portProxy port

Member Function Documentation

getLogin ( )

Returns login for proxy.

Return values
stringLogin string (or null, if no auth required)
getPassword ( )

Returns password for proxy.

Return values
stringPassword string (or null, if no auth required)
hasAuth ( )

Returns true if proxy needs to be authenticated.

Return values
boolTrue if proxy needs to be authenticated
setAuth (   $login,
  $password 
)

Sets login and password for proxy.

Parameters
string$loginLogin string (or null, if no auth required)
string$passwordPassword string (or null, if no auth required)
setSocket ( HttpSocket  $socket)

Sets socket for proxy. This can be another proxy or network socket.

Remember to always set underlying proxy socket before using proxy networking functions.

It is possible to build proxy chain using this function.
Example:
$proxy3 = new HttpProxy('test.site.com', 808);
$proxy2 = new Socks5Proxy('123.100.200.10', 1080);
$proxy1 = new Socks4AProxy('221.111.111.111', 777);
$proxy3->setSocket($proxy2);
$proxy2->setSocket($proxy1);
$proxy1->setSocket(new FileSocket);

This will create a chain:
221.111.111.111:777 (socks4a) -> 123.100.200.10:1080 (socks5) -> test.site.com:808 (HTTP proxy)

Parameters
HttpSocket$socketunderlying socket

The documentation for this class was generated from the following file: