Môi trường của chúng tôi yêu cầu sử dụng proxy gửi đi cho các dịch vụ ngoại vi. Thông thường đây không phải là vấn đề. Trong trường hợp này với Twilio, tiêu đề phụ được trả về sẽ phá vỡ ứng dụng khách.Việc cần làm với tiêu đề HTTP bổ sung từ proxy là gì?
tiêu đề Outgoing:
POST /2010-04-01/Accounts/FOO/SMS/Messages.json HTTP/1.1
Authorization: Basic FOO==
User-Agent: twilio-php/3.10.0
Host: api.twilio.com
Accept: */*
Accept-Charset: utf-8
Content-Type: application/x-www-form-urlencoded
Content-Length: 108
Tiêu đề phản hồi:
HTTP/1.0 200 Connection established
HTTP/1.1 201 Created
Server: nginx
Date: Thu, 06 Jun 2013 14:39:24 GMT
Content-Type: application/json; charset=utf-8
Content-Length: 551
Connection: close
X-Powered-By: PHP/5.3.11
Tôi chỉ có thể giả định proxy sẽ bổ sung các tiêu đề HTTP thêm.
Các Twilio khách hàng không kiểm tra:
list($head, $body) = ($parts[0] == 'HTTP/1.1 100 Continue')
Theo tôi được biết, có những thời điểm hoặc các phiên bản của curl đó sẽ tự động thêm một Expect header trong các yêu cầu, và HTTP 100 sẽ được trả lại trong phản ứng, nhưng trong trường hợp này nó không phải là, và phản ứng là 200 kết nối được thiết lập. Đối với những gì nó có giá trị thêm một mong đợi rỗng: hoặc một mong đợi: thịt xông khói đã không thay đổi kết quả.
Tôi thực sự không muốn tấn công khách hàng Twilio quá nhiều ở đây, và tôi đặc biệt muốn tránh chỉ thêm một || $ parts [0] == 'Kết nối HTTP/1.0 200 được thiết lập' vì có vẻ như nó lộn xộn.
Có thể gửi tiêu đề yêu cầu trong đó sẽ chặn/ẩn tiêu đề bổ sung không? Hoặc, một tùy chọn curl tôi không thấy bỏ qua nó?
Proxy gửi đi là Linux/Squid
điều này thực sự khiến tôi giật mình. –
@TheSurrican đó là gì? – somedev
theo đặc điểm kỹ thuật chỉ có một "dòng trạng thái" duy nhất trong phản hồi http, theo sau là các định nghĩa tiêu đề. nghĩa là, nếu tôi đọc chính xác ... http://www.w3.org/Protocols/rfc2616/rfc2616-sec6.html#sec6 –