如何在CURL中添加cookie

时间:2019-06-02 07:42:20

标签: php

我在 codegniter 中创建了rest api,并且必须通过在核心php中使用curl来调用它。我已经尝试过,但是它不维护服务器端的会话。

使用ajax CREATE TABLE `_b_price` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `tickerDate` varchar(100) NOT NULL, `ticker` varchar(50) DEFAULT NULL, `date` DATE DEFAULT NULL, `close` int(11) DEFAULT NULL, `high` int(11) DEFAULT NULL, `low` int(11) DEFAULT NULL, `numOfTrades` int(11) DEFAULT NULL, `open` int(11) DEFAULT NULL, `value` bigint(20) DEFAULT NULL, `volume` int(11) DEFAULT NULL, `vwap` int(11) DEFAULT NULL, `state` varchar(5) DEFAULT NULL, PRIMARY KEY (`id`), UNIQUE KEY `tickerDate` (`tickerDate`), KEY `date` (`date`), KEY `ticker` (`ticker`) ) ENGINE=InnoDB AUTO_INCREMENT=2667983 DEFAULT CHARSET=utf8 可以正常工作,但是 curl 不能正常工作。

工作正常的Ajax代码:-

withCredentials

我想用我尝试过的Curl做到这一点:-

$.ajax({
        url: apiurl,
        type: "POST",
        crossDomain: true,
        xhrFields: {
            withCredentials: true
        },
        contentType: "application/json; charset=utf-8",
        dataType: "json",
        data: JSON.stringify(form_data)
    }).done(function (data) { //on success
       console.log("done);
    })



服务器端:-

  $curl = curl_init();
    curl_setopt($curl, CURLOPT_POST, 1);
    curl_setopt($curl, CURLOPT_URL,$apiurl);
    curl_setopt($curl, CURLOPT_HTTPHEADER, array(
      'Content-Type: application/json',
     ));
     curl_setopt($curl, CURLOPT_HTTPAUTH, CURLAUTH_BASIC);
     $result = curl_exec($curl);
     return $result;

1 个答案:

答案 0 :(得分:0)

我希望这对您有用。

curl --no-cookies --no-check-certificate --header "Cookie: cookie_name" "URL"