如何使用PHP通过cURL通过cURL将HTTP GET请求发送到REST API以及使用cURL从REST API中调用方法 [英] How to send HTTP GET request to REST API via cURL using PHP and call method from REST API with cURL

查看:100
本文介绍了如何使用PHP通过cURL通过cURL将HTTP GET请求发送到REST API以及使用cURL从REST API中调用方法的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用PHPcURL.
我想将HTTP GET请求发送到REST API,并且要从REST API调用方法.
如何使用PHP通过cURL进行调用?我有API URL和密钥.
我必须发送带有URL的密钥,并且我需要REST API内部的方法.
我需要做什么?
同时,我必须对所有请求发送基本身份验证,然后我会得到JSON数据.
我该怎么办?

I'm using PHP and cURL.
I want to send HTTP GET request to REST API and I want to call method from REST API.
How can i make via cURL using PHP? I have API URL and Key.
I must send my key with URL and I need method inside REST API.
What I need to do?
At the same time, i have to send basic authentication on all requests and I'll get JSON data.
How can i do?

谢谢. 问候

这是我的代码

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $url);    
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "GET");  
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);     
curl_setopt($ch, CURLOPT_USERPWD, $username.':'.$password);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_HTTPAUTH, CURLAUTH_BASIC); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array(   
    'Accept: application/json',
    'Content-Type: application/json')                                                           
);             
$result = curl_exec($ch);

curl_close($ch);

推荐答案

我尝试了您的代码并将变量更改为数组. 添加了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);

这篇关于如何使用PHP通过cURL通过cURL将HTTP GET请求发送到REST API以及使用cURL从REST API中调用方法的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆