curlx
Version 0.0.4
curlx是一个用 PHP 为人类编写的 HTTP 基础库,没有依赖关系,适用于 PHP 8.2+。
curlx允许您发送GET 、 POST 、 PUT 、 DELETE和更多 HTTP 方法。您可以使用简单数组添加标头、表单数据、json 数据和参数,并以相同的方式访问响应数据。您可以使用代理、服务器旋转(如 LUMINATI、APIFY、IPVANISH)添加 HTTP 隧道。
# GET
$ curlx -> get ( " https://api.myip.com/ " );
# POST
$ curlx -> post ( " https://api.myip.com/ " , " my_form_id=test&hello=mom " );
# CUSTOM
$ curlx -> custom ( " https://api.myip.com/ " , " HEAD " );
$ curlx -> run ();
# PROXY (http/s, socks4, socks5)
$ server = [
" method " => " tunnel " ,
" server " => " 47.254.145.99:3128 "
];
# LIMINATI valid syntax example
$ session => mt_rand ();
$ server = [
" method " => " custom " ,
" server " = "http: //zproxy.lum-superproxy.io:22225",
" auth" => " lum-customer-hl_876f552a-zone-static-route_err-pass_dyn-country-RU-session- $ session :my_ultra_secret_password "
];
# APIFY valid syntax example
$ server = [
" method " => " custom " ,
" server " = "http: //proxy.apify.com:8000",
" auth" => " auto:my_ultra_secret_password "
];
# IPVANISH valid syntax example
$ server = [
" method " => " CUSTOM " ,
" server " => " akl-c12.ipvanish.com:1080 " ,
" auth " => " my_zone_customer_id:my_zone_customer_password "
];
# Simple GET
$ test0 = $ curlx -> get ( " http://httpbin.org/get " );
# GET with Custom Headers
$ headers = array (
" Host: api.myip.com " ,
" my-custom-header: my-header-value "
);
$ test1 = $ curlx -> get ( " http://httpbin.org/get " , $ headers );
# GET with Headers and Cookie File
$ cookie = uniqid ();
$ test2 = $ curlx -> get ( " http://httpbin.org/get " , $ headers , $ cookie );
#GET with Headers, Cookie and Proxy Tunnel
$ server = [
" method " => " tunnel " ,
" server " => " 47.254.145.99:3128 "
];
$ test3 = $ curlx -> get ( " http://httpbin.org/get " , $ headers , $ cookie , $ server );
# After all requests were complete, you can delete the cookie file, Only when you use the $cookie parameter.
$ curlx -> deleteCookie ();
# Response status of the request
var_dump ( $ test3 -> isSuccess ());
// bool(true)
# Status code of the request
var_dump ( $ test3 -> getStatusCode ());
// int(200)
# Content type of the request
var_dump ( $ test3 -> getHeaders ()[ " response " ][ " content-type " ]);
// string(24) "text/html; charset=UTF-8"
# Body response of the request
var_dump ( $ test3 -> getBody ());
// string(51) "{...}"
#Simple POST with NULL data
$ test0 = $ curlx -> post ( " http://httpbin.org/post " );
#POST with Data-form and Custom Headers
$ headers = array (
" Host: httpbin.org " ,
" my-custom-header: my-header-value "
);
$ test1 = $ curlx -> post ( " http://httpbin.org/post " , " test_ID=666&hello=mom " , $ headers );
#POST with Json-Data and Custom Headers
$ data = array (
" hello " => " mom " ,
" key " => " value "
);
$ test2 = $ curlx -> post ( " http://httpbin.org/post " , $ data , $ headers );
#POST with Custom-Data, Custom Headers, and Cookie
$ cookie = uniqid ();
$ test3 = $ curlx -> post ( " http://httpbin.org/post " , $ data , $ headers , $ cookie );
#POST with Json-Data, Custom Headers, Cookie and Proxy Tunnel
$ server = [
" method " => " tunnel " ,
" server " => " 47.254.145.99:3128 "
];
$ test4 = $ curlx -> post ( " http://httpbin.org/post " , $ data , $ headers , $ cookie , $ server );
#After all requests were complete, you can delete the cookie file, Only when you use the $cookie parameter.
$ curlx -> deleteCookie ();
# Response status of the request
var_dump ( $ test3 -> isSuccess ());
// bool(true)
# Status code of the request
var_dump ( $ test4 -> getStatusCode ());
// int(200)
# Content type of the request
var_dump ( $ test4 -> getHeaders ()[ " response " ][ " content-type " ]);
// string(24) "..."
# Body response of the request
var_dump ( $ test4 -> getBody ());
// string(51) "{...}"
// Set a custom option to current CURL structure
$ curlx -> setOpt ([ CURLOPT_HTTPAUTH => CURLAUTH_BEARER ]);
/**
* Show all data process|errors of the request
*
* debug(): now supports cli and json print
*
* Recommended for develop work space
*/
$ curlx -> debug ();
要安装源代码:
$ git clone https://github.com/devblack/curlx.git
并将其包含在您的脚本中:
require_once " curlx .php";
$ curlx = new curlx ();
或者,您可以获取 tarball 或 zipball:
$ curl -L https://github.com/devblack/curlx/tarball/master | tar xzv
(or)
$ wget https://github.com/devblack/curlx/tarball/master -O - | tar xzv
master
分支(或从其分支)进行更改