5

私は、「奇妙な」php CURL の動作を発見しました。基本的に私がやっていることは、curl でダイジェスト認証呼び出しを行うことです。これが私のコードの抜粋です:

curl_setopt($this->c, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($this->c, CURLOPT_USERPWD, $username . ":" . $password);

それは正常に機能し、サーバーは実際に「はい、正しい資格情報を提供しました」という種類のメッセージを返します。唯一の問題は、実際のところ、1 つではなく 2 つの応答が含まれているため、生の http 応答が少し奇妙であることです。curl_exec($this->c) が吐き出すものは次のとおりです。

HTTP/1.0 401 Unauthorized
Date: Tue, 23 Oct 2012 08:41:18 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.9
WWW-Authenticate: Digest realm="dynamikrest-testing",qop="auth",nonce="5086582e95104",opaque="4b24e95490812b28b3bf139f9fbc9a66"
Vary: Accept-Encoding
Content-Length: 9
Connection: close
Content-Type: text/html

HTTP/1.1 200 OK
Date: Tue, 23 Oct 2012 08:41:18 GMT
Server: Apache/2.2.20 (Ubuntu)
X-Powered-By: PHP/5.3.6-13ubuntu3.9
Vary: Accept-Encoding
Content-Length: 9
Connection: close
Content-Type: text/html

"success"

サーバーからの最初の応答(認証が必要であると述べている応答)が含まれている理由がわかりません。

誰でも問題に光を当てることができますか? 回答の累積を避けるにはどうすればよいですか?

乾杯

4

2 に答える 2