dongshuiga2826 2017-04-28 23:36
浏览 90
已采纳

Guzzle不发送POST参数

I am sending this as a test to a test webserver, but the response although its a 201 which means it got it, it does not show the posted data I want to send:

<?php
  $url = "https://jsonplaceholder.typicode.com/posts";
  $client = \Drupal::httpClient();

  $post_data = array('color' => 'red');
  $response = $client->request('POST', $url, [
    'form_params' => $post_data,
    'verify' => false
    ]);
  $body = $response->getBody();
  dsm($body);
?>

Is the format of the request I made incorrect?

I can see that it is not getting the post data because when I do a dsm of the response body, it isn't there.

  • 写回答

1条回答 默认 最新

  • duandou8120 2017-05-02 19:03
    关注

    This worked for me, looks like I needed to add the headers:

    $url="https://jsonplaceholder.typicode.com/posts";
        $client = \Drupal::httpClient();
        $post_data = $form_state->cleanValues()->getValues();
        $response = $client->request('POST', $url, [
        'headers' => ['Content-Type' => 'application/x-www-form-urlencoded'],
        'form_params' => $post_data,
        'verify'=>false,
      ]);
        $body = $response->getBody()->getContents();
        $status = $response->getStatusCode();
        dsm($body);
        dsm($status);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭