Я пытаюсь отлаживать сообщение 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-прокси, но они только когда-либо http GET, чтобы получить мою php-страницу, но никогда не захватывают получение, отправленное с сервера после выполнения PHP-кода.
EDIT: я добавил код snipet, в котором я фактически загружаю файл изображения.
// 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);