Я пытаюсь отладить http-сообщение, которое я пытаюсь отправить из приложения списка. Я смог отправить правильный пост с php CURL, который тесно взаимодействует с моим веб-сайтом drupal 7 и загружает изображение.
Для того, чтобы это работало в моем приложении lisp, мне действительно нужно увидеть тело содержимого моего http-поста, я смог увидеть заголовки с помощью вызова, подобного этому:
curl_setopt($curl, CURLOPT_STDERR, $fp);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
и заголовки выглядят одинаково в моем приложении lisp, но я не смог изучить тело сообщения. Я искал в Интернете, и другие люди задавали этот вопрос, но никто не опубликовал ответ.
Тип содержимого моего http-сообщения:
application/x-www-form-urlencoded
Я также пробовал много инструментов отладки http proxy, но они только http GET, чтобы получить мою страницу php, но никогда не захватывают отправку с сервера после выполнения кода php.
EDIT: Я добавил фрагмент кода, показывающий, куда я на самом деле загружаю файл изображения.
// file
$file = array(
'filesize' => filesize($filename),
'filename' => basename($filename),
'file' => base64_encode(file_get_contents($filename)),
'uid' => $logged_user->user->uid,
);
$file = http_build_query($file);
// REST Server URL for file upload
$request_url = $services_url . '/file';
// cURL
$curl = curl_init($request_url);
curl_setopt($curl, CURLOPT_HTTPHEADER, array('Content-type: application/x-www-form-urlencoded'));
curl_setopt($curl, CURLOPT_STDERR, $fp);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
curl_setopt($curl, CURLOPT_POST, 1); // Do a regular HTTP POST
curl_setopt($curl, CURLOPT_POSTFIELDS, $file); // Set POST data
curl_setopt($curl, CURLOPT_HEADER, FALSE); // Ask to not return Header
curl_setopt($curl, CURLOPT_COOKIE, "$cookie_session"); // use the previously saved session
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($curl, CURLOPT_FAILONERROR, TRUE);
curl_setopt_array($curl, array(CURLINFO_HEADER_OUT => true) );
$response = curl_exec($curl);