Direkt zum Inhalt

Gemischte Daten mit POST als drupal_http_request an ein externes Script senden

veröffentlicht von um am Do, 07/20/2017 - 11:44

Die Aufgabe war ein Array von key => value Paaren, von denen ein Teil der values json-encoded ist, an ein exterenes Script zu schicken und zwar als POST nicht als GET.

Lange bin ich dabei am richtigen Content-Type gescheitert: z.B. application/json funktioniert nur, wenn das ganze Array als json Format vorliegt.

Nach vielen  "Your browser sent a request that this server could not understand." Antworten des entfernten Servers und nach einigem Suchen habe ich dann den richtigen Content-Type gefunden:  application/x-www-form-urlencoded

  $url = 'https://irgendeine_url';
  $user = array('nachname' => 'Musterfrau', 'vorname' => 'Mathilde', ...);
  $options = array(
    'method' => 'POST',
    'data' => http_build_query(array('data_1' => 'irgenein_wert', 'data_2' => drupal_json_encode($user))),
    'headers' => array('Content-Type' => 'application/x-www-form-urlencoded; charset=utf-8')
   );
  $result = drupal_http_request($url, $options);

 

 

Neuen Kommentar schreiben