Я пытаюсь отладить сообщение 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, но никогда не захватывали get.отправлено с сервера после выполнения кода php.
РЕДАКТИРОВАТЬ: я добавил фрагмент кода, показывающий, где я на самом деле загрузить файл изображения.
// 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);