티스토리 뷰

프로그래밍/PHP

php-소켓클래스(Example)

프링글 2008. 6. 22. 13:20

HttpClient Examples

HttpClient Home | Download HttpClient (txt) | HttpClient Manual | HttpClient Demo

Grabbing an HTML page (static method)

$pageContents = HttpClient::quickGet('http://example.com/');

Posting a form and grabbing the response (static method)

$pageContents = HttpClient::quickPost('http://example.com/someForm', array( 'name' => 'Some Name', 'email' => 'email@example.com' ));

The static methods are easy to use, but seriously limit the functionality of the class as you cannot access returned headers or use facilities such as cookies or authentication.

A simple GET request using the class

$client = new HttpClient('example.com'); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent();

A GET request with debugging turned on

$client = new HttpClient('example.com'); $client->setDebug(true); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent();

A GET request demonstrating automatic redirection

$client = new HttpClient('www.amazon.com'); $client->setDebug(true); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent();

Check to see if a page exists

$client = new HttpClient('example.com'); $client->setDebug(true); if (!$client->get('/thispagedoesnotexist')) { die('An error occurred: '.$client->getError()); } if ($client->getStatus() == '404') { echo 'Page does not exist!'; } $pageContents = $client->getContent();

Fake the User Agent string

$client = new HttpClient('example.com'); $client->setDebug(true); $client->setUserAgent('Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.3a) Gecko/20021207'); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent();

Log in to a site via a login form, then request a page

In this example, it is assumed that correctly logging in will result in the server sending a sesssion cookie of some sort. This cookie is resent by the HttpClient class automatically, so a request to a page that requires users to be logged in will now work.

$client = new HttpClient('example.com'); $client->post('/login.php', array( 'username' => 'Simon', 'password' => 'ducks' )); if (!$client->get('/private.php')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent(); 

Using HTTP authorisation

Note that the class uses the American spelling 'authorization' to fit with the HTTP specification.

$client = new HttpClient('example.com'); $client->setAuthorization('Username', 'Password'); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } $pageContents = $client->getContent(); 

Print out the headers from a response

$client = new HttpClient('example.com'); if (!$client->get('/')) { die('An error occurred: '.$client->getError()); } print_r($client->getHeaders()); 

Setting the maximum number of redirects

$client = new HttpClient('www.amazon.com'); $client->setDebug(true); $client->setMaxRedirects(3); $client->get('/'); 

'프로그래밍 > PHP' 카테고리의 다른 글

php-다중 연결 소켓 통신(2)  (0) 2008.06.22
php-소켓클래스(소스)  (0) 2008.06.22
php-소켓클래스(데모)  (0) 2008.06.22
php 소켓 클래스(설명)  (0) 2008.06.22
2003년 6월식 php 바코드 생성 함수  (0) 2008.06.22
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크