首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在PHP中从API获取访问权限

在PHP中从API获取访问权限
EN

Stack Overflow用户
提问于 2019-03-15 09:19:51
回答 1查看 147关注 0票数 0

我是PHP新手,我有一个任务是使用API从我的客户端获取数据。但问题是,即使对此进行了研究和尝试,也无法理解此API。

我的客户给了我API的详细信息

代码语言:javascript
复制
URL - http://222.126.31.19:8084/api/login

Username - admin123

Password - test123

这些只是一个虚拟的值..我的客户还说,值应该是来自登录api的令牌响应,并在前面加上单词“承载人”

在做了一个研究之后..我尝试过此代码,但浏览器上什么也没有显示。我能做的任何想法或建议..

代码语言:javascript
复制
function CallAPI($method, $url, $data = false)
    {
        $curl = curl_init();

        switch ($method)
        {
            case "POST":
                curl_setopt($curl, CURLOPT_POST, 1);

                if ($data)
                    curl_setopt($curl, CURLOPT_POSTFIELDS, $data);
                break;
            case "PUT":
                curl_setopt($curl, CURLOPT_PUT, 1);
                break;
            default:
                if ($data)
                    $url = sprintf("%s?%s", $url, http_build_query($data));
        }

        // Optional Authentication:
        curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
        curl_setopt($curl, CURLOPT_USERPWD, "admin123:test123");

        curl_setopt($curl, CURLOPT_URL, $url);
        curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

        $result = curl_exec($curl);

        curl_close($curl);

        return $result;
       }

我需要把这个放在按钮上吗?抱歉,如果我在这里问,已经一天了,我不能解决它。

EN

回答 1

Stack Overflow用户

发布于 2019-03-15 21:36:52

大多数REST API都使用某种类型的会话id。如果您正在登录,您将获得一个用于进一步调用的会话id,以及您的登录凭据的可能调用列表。但每种API的工作方式都不同。就像BT643说的,他们必须给你某种形式的文档。我使用下面的代码来访问我正在使用的一些API。如果你喜欢,可以试一试。

代码语言:javascript
复制
    $ch = curl_init();

    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_URL, 'http://222.126.31.19:8084/api/login');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_USERPWD, 'admin123' . ":" . 'test123');

    $out = json_decode(curl_exec($ch));

    curl_close($ch);

然后,您可以使用以下命令打印返回结果(如果有):

代码语言:javascript
复制
echo '<pre>' 
var_dump($out);
echo '</pre>';

这只是为了看看您的调用是否有任何结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55174267

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档