Tôi đã phát hiện một hành vi CURL "lạ" php đang gửi cho tôi các loại hạt. Về cơ bản những gì tôi đang làm là thực hiện một cuộc gọi được xác thực thông báo với curl. Dưới đây là một trích mã của tôi:php curl với thông báo trả về hai câu trả lời
curl_setopt($this->c, CURLOPT_HTTPAUTH, CURLAUTH_DIGEST);
curl_setopt($this->c, CURLOPT_USERPWD, $username . ":" . $password);
Nó hoạt động tốt và máy chủ thực sự trở lại với một "CÓ, BẠN ĐƯỢC CUNG CẤP trọng quyền" loại tin nhắn. Chỉ có rắc rối là, phản hồi http thô là một chút kỳ lạ khi nó bao gồm, như một vấn đề của thực tế, 2 câu trả lời thay vì một. Đây là những gì curl_exec ($ this-> c) spits ra:
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"
Tôi không hiểu tại sao nó bao gồm các phản ứng đầu tiên từ máy chủ (mà trong đó nó nói nó yêu cầu xác thực).
Có ai có thể xem nhẹ vấn đề này không? Làm cách nào để tránh tích lũy phản hồi?
Cheers
Tôi đã * chính xác * cùng một vấn đề. Nhận xét này không thêm bất cứ điều gì để giải quyết, nhưng tôi muốn cho mọi người biết nó không phải là một vấn đề hoàn toàn bị cô lập. – Hezad
Cuối cùng tôi đã sử dụng lệnh exec của hàm exec() của lệnh PHP. Nó rất lý tưởng nhưng nó hoạt động tốt để tạo mẫu: exec ('curl --digest -u the_login: the_password the_url', $ params); Vẫn đang tìm kiếm và đang chờ câu trả lời. – Hezad
Tôi vừa thử nghiệm nó với Wireshark và thiết lập tương tự, có vẻ như curl kích hoạt 2 yêu cầu khi bạn sử dụng xác thực thông báo, và yêu cầu đầu tiên là không có bất kỳ xác thực nào. Câu hỏi bây giờ là, tại sao dòng lệnh curl bỏ qua phản hồi này và php_curl đính kèm nó. – gries