1. Go to this page and download the library: Download hamaadraza/php-impersonate library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
hamaadraza / php-impersonate example snippets
Raza\PHPImpersonate\PHPImpersonate;
// Simple GET request
$response = PHPImpersonate::get('https://example.com');
echo $response->body();
// POST request with data
$response = PHPImpersonate::post('https://example.com/api', [
'username' => 'johndoe',
'email' => '[email protected]'
]);
// Check the response
if ($response->isSuccess()) {
$data = $response->json();
echo "User created with ID: " . $data['id'];
} else {
echo "Error: " . $response->status();
}
// GET request with optional headers and timeout
PHPImpersonate::get(string $url, array $headers = [], int $timeout = 30): Response
// POST request with optional data, headers and timeout
PHPImpersonate::post(string $url, ?array $data = null, array $headers = [], int $timeout = 30): Response
// PUT request with optional data, headers and timeout
PHPImpersonate::put(string $url, ?array $data = null, array $headers = [], int $timeout = 30): Response
// PATCH request with optional data, headers and timeout
PHPImpersonate::patch(string $url, ?array $data = null, array $headers = [], int $timeout = 30): Response
// DELETE request with optional headers and timeout
PHPImpersonate::delete(string $url, array $headers = [], int $timeout = 30): Response
// HEAD request with optional headers and timeout
PHPImpersonate::head(string $url, array $headers = [], int $timeout = 30): Response
// Get the HTTP status code
$response->status(): int
// Get the response body as string
$response->body(): string
// Check if the response was successful (status code 200-299)
$response->isSuccess(): bool
// Parse the JSON response
$response->json(): array|null
// Get a specific header value
$response->header(string $name, ?string $default = null): ?string
// Get all headers
$response->headers(): array
// Dump information about the response (returns string)
$response->dump(): string
// Output debug information about the response (echoes and returns self)
$response->debug(): Response
// Create a client that mimics Firefox
$client = new PHPImpersonate('firefox105');
$response = $client->sendGet('https://example.com');
// Set a 5-second timeout for this request
$response = PHPImpersonate::get('https://example.com', [], 5);
// Or when creating a client instance
$client = new PHPImpersonate('chrome107', 10); // 10-second timeout
// Data will be automatically converted to JSON with correct Content-Type
$data = [
'title' => 'New Post',
'body' => 'This is the content',
'userId' => 1
];
$response = PHPImpersonate::post(
'https://jsonplaceholder.typicode.com/posts',
$data,
['Content-Type' => 'application/json']
);
$post = $response->json();
echo "Created post with ID: {$post['id']}\n";
// This will be sent as form data
$response = PHPImpersonate::post('https://example.com/api', [
'username' => 'johndoe',
'email' => '[email protected]'
]);
// Explicitly specify form data
$response = PHPImpersonate::post('https://example.com/api',
[
'username' => 'johndoe',
'email' => '[email protected]'
],
['Content-Type' => 'application/x-www-form-urlencoded']
);