Tôi đang cố gắng gỡ lỗi bài đăng http mà tôi đang cố gắng gửi từ ứng dụng danh sách. Tôi đã có thể gửi bài đăng chính xác từ CURL php mà corectly giao diện với trang web drupal 7 của tôi và tải lên một hình ảnh.Lấy nội dung từ bài đăng http bằng cách sử dụng php CURL
Để có được điều này để làm việc trong ứng dụng lisp của tôi, tôi thực sự cần phải nhìn thấy cơ thể nội dung của bài http tôi đã có thể nhìn thấy các tiêu đề bằng một cuộc gọi như thế này:
curl_setopt($curl, CURLOPT_STDERR, $fp);
curl_setopt($curl, CURLOPT_VERBOSE, 1);
và các tiêu đề trông giống nhau trong ứng dụng lisp của tôi nhưng tôi không thể kiểm tra phần thân của bài đăng. Tôi đã tìm kiếm trực tuyến và những người khác đã đặt câu hỏi này nhưng không ai đăng câu trả lời.
Kiểu nội dung của bài http tôi là:
application/x-www-form-urlencoded
Tôi cũng đã thử nhiều proxy http cụ debuging nhưng họ chỉ từng http GET để có được trang php của tôi, nhưng không bao giờ nắm bắt được gửi từ máy chủ một lần mã php được thực thi.
EDIT: Tôi đã thêm một mã snipet hiển thị nơi tôi thực sự tải lên tệp hình ảnh.
// 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);
Tôi không cho rằng bạn tìm thấy câu trả lời cho điều này? – user1854496
'curl_setopt ($ ch, CURLOPT_RETURNTRANSFER, true);' – Bobot