Я вызываю службу из PHP, используя cURL, вот так:
$response = curl_exec($ch);
а заголовки запроса/ответа выглядят примерно так:
Запрос:
POST /item/save HTTP/1.1
Host: services.mydomain.com
Accept: */*
Content-Length: 429
Expect: 100-continue
Content-Type: multipart/form-data
Ответ:
HTTP/1.1 100 Continue
HTTP/1.1 200 OK
Date: Fri, 06 Jul 2012 08:37:01 GMT
Server: Apache
Vary: Accept-Encoding,User-Agent
Content-Length: 256
Content-Type: application/json; charset=utf-8
за которым следует тело (json-кодированные данные ).
Проблема в том, что обычным делом является разделение заголовков и тела в ответе первой встреченной пустой строкой, за исключением этого случая, пустая строка находится после 100 Continue
, и поэтому все остальное помещается в тело — и это json больше недействителен:-)
Итак, мой вопрос таков: :Каков общий способ справиться с этим? У меня выстроились 3 варианта:
100-continue
? (Как?)100 Continue
и игнорировать их и следующую за ними пустую строку? (В таком случае, могут ли произойти другие подобные вещи, которые я должен проверить вручную?)Если я не упустил что-то очевидное, я уверен, что люди натыкались на это и решали это много раз!