Api工作于curl而不是GuzzleHttp

时间:2016-04-26 15:49:05

标签: php rest symfony curl guzzle

我正在尝试连接到Talentlink Api。我能够在curl上做到但我无法使用GuzzleHttp进行连接。我正在通过Symfony上的m6web / guzzle-http-bundle使用Guzzle。我的代码如下。有人有想法吗?

CURL

        $headers = [
                    'username: XXXXX',
                    'password: XXXXX'
        ];

        $body = '{
                  "searchCriteriaSorting": {
                    "categoryListsSorting": "LABEL",
                    "customLovsSorting": "ORDER",
                    "standardLovsSorting": "ORDER"
                  }
                }';

        $tuCurl = curl_init();
        curl_setopt($tuCurl, CURLOPT_URL, "https://api3.lumesse-talenthub.com/CareerPortal/REST/FoAdvert/advertisement-by-id?api_key=XXXXXX&lang=FR&postingTargetId=1");
        curl_setopt($tuCurl, CURLOPT_VERBOSE, 1);
        curl_setopt($tuCurl, CURLOPT_HEADER, 1);
        curl_setopt($tuCurl, CURLINFO_HEADER_OUT, 1);
        curl_setopt($tuCurl, CURLOPT_HTTPHEADER, $headers);
        $head = curl_exec($tuCurl);
        $httpCode = curl_getinfo($tuCurl, CURLINFO_HTTP_CODE);
        curl_close($tuCurl);

狂饮

        $headers = [
            'username' => 'XXXXXX',
            'password' => 'XXXXXX'
        ];

        try {
            $response = $client->request('GET',
                'https://api3.lumesse-talenthub.com/CareerPortal/REST/FoAdvert/advertisement-by-id?api_key=XXXXX&lang=FR&postingTargetId=1',
                array(
                    'debug'     =>  true,
                    $headers
                ));
        } catch (ClientException $e) {
            die((string)$e->getResponse()->getBody()->getContents());
        }

在Guzzle上,我不断收到一个包含登录表单的页面,好像我没有连接一样。但是,状态始终为200,因此很难调试。

这是我发送的数组的问题。这应该是'标题'键:

$response = $client->request('GET',
            'https://api3.lumesse-talenthub.com/CareerPortal/REST/FoAdvert/advertisement-by-id?api_key=XXXX&lang=FR&postingTargetId=1',
            [
                'headers' => $headers,
                //'debug' => true
            ]);

0 个答案:

没有答案