[英]How do i call an API using php curl correctly? I am getting http status code of 401
[英]Getting HTTP status 200 when I should be getting status 304 using php curl
我正在構建一個應用程序,該應用程序經常調用外部api,並緩存發送回的數據。 該api還發送“ requestnext” URL,上次修改日期和ETag,可用於進行有條件的get調用以進行更新。 當進行requestnext呼叫時,當沒有新數據時,我應該收到狀態304,但我只會得到狀態200(即使沒有新數據)。
我的代碼:
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_RETURNTRANSFER => 1,
CURLOPT_URL => $nextrequest . '&apiKey='.$apikey,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_HTTPHEADER => array($lastmod, $etag),
CURLOPT_HEADER => 1,
));
$response = curl_exec($curl);
$curlinfo = curl_getinfo($curl);
// Get http response code
$httpresponse = $curlinfo['http_code'];
$ lastmod和$ etag變量包含
$lastmod = If-Modified-Since: Wed, 24 Feb 2016 22:38:22 GMT
$etag = If-None-Match: "ffffffffec3c286a-json"
對我可能做錯的任何想法?
原來我正在將條件獲取請求發送到錯誤的URL。 我應該一直將其發送到我用於發出請求的原始URL(而是將其發送到“ nextrequest” URL)。
這是給AP選舉api的,以防有人懷疑!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.