mirror of
https://github.com/lwthiker/curl-impersonate.git
synced 2025-08-04 19:02:28 +00:00

Add more documentation on the following topics: * Running `curl-impersonate` from the command line, including changing the HTTP headers when needed. * Using `libcurl-impersonate` in JS and PHP scripts.
1.0 KiB
1.0 KiB
Using libcurl-impersonate in PHP scripts
It is possible to use libcurl-impersonate in PHP scripts instead of the original libcurl. PHP loads libcurl dynamically during runtime, which means that a different set of steps needs to be taken.
On Linux
First, patch libcurl-impersonate and change its SONAME:
patchelf --set-soname libcurl.so.4 /path/to/libcurl-impersonate-chrome.so
Then replace at runtime with:
LD_PRELOAD=/path/to/libcurl-impersonate-chrome.so CURL_IMPERSONATE=chrome101 php -r 'print_r(curl_version());'
If successful you should see:
[ssl_version] => BoringSSL
(or NSS if the Firefox version is used)
On macOS
On Mac, first rename libcurl-impersonate-chrome.dylib
to libcurl.4.dylib
and place in some directory, say /usr/local/lib
. Then run php with the DYLD_LIBRARY_PATH
env var pointing to that directory, for example:
DYLD_LIBRARY_PATH=/usr/local/lib php -r 'print_r(curl_version());'
If successful you should see:
[ssl_version] => BoringSSL