且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何使用PHP通过cURL通过cURL将HTTP GET请求发送到REST API以及使用cURL从REST API中调用方法

更新时间:2022-04-14 00:13:02

我尝试了您的代码并将变量更改为数组. 添加了httpheaders,useragents. 并保存到cookie和cookie位置. 并测试:

I have tried your code and changed variables into array. Added httpheaders, useragents. And save to cookies and cookie location. And tested:

$username = "username";
$password = "password";
$url = "http://localhost/html/login";
$send = "?username=".$username."&password=".$password; 

$ch = curl_init();
curl_setopt_array($ch, array(
    CURLOPT_URL            => $url, 
    CURLOPT_RETURNTRANSFER => 1,
    CURLOPT_FOLLOWLOCATION => 1,
    CURLOPT_VERBOSE        => 1,
    CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:37.0) Gecko/20100101 Firefox/37.0',
    CURLOPT_POST => true,
    CURLOPT_USERNAME, $username,
    CURLOPT_USERPWD, $password,
    CURLOPT_POSTFIELDS => $send,
    CURLOPT_SSL_VERIFYPEER, false,
    CURLOPT_HEADER => 1,
    CURLOPT_HTTPHEADER   => array(
                                "Accept-Language: en-US;q=0.6,en;q=0.4", 
                                "Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", 
                                "Connection: keep-alive"
                                ),
    CURLOPT_COOKIEFILE => "cookies.txt", 
    CURLOPT_COOKIEJAR => "cookies.txt",
    CURLOPT_REFERER => "http://localhost/html/login",
    CURLOPT_ENCODING => 'gzip,deflate'
)); //gzip, if modul on
curl_exec($ch);
curl_close($ch);