doudeng2184 2015-04-12 21:33
浏览 27
已采纳

cURL到PHP Guzzle

I'm having a hard time translating the following curl command to be used with the Guzzle PHP library:

curl -v -X POST --form 'metadata={"name":"test","kind":"FILE"}' --form 'content=@/tmp/test.txt' 'https://my-endpoint.example.com'

I thought it would be along this, but it doesn't seem to work:

$response = $this->httpClient->post('http://my-endpoint.example.com', [
            'body' => [
                'metadata' => '{"name":"test","kind":"FILE"}',
                'content' => "@/tmp/test.txt",
            ]
        ]);
  • 写回答

1条回答 默认 最新

  • dsu5188 2015-04-13 20:05
    关注

    This was not a guzzle issue, but rather an API issue in the request structure on my part.

    Just some more information, this is for Amazon's Cloud Drive API. The request supports metadata containing additional fields. I was including these fields but with empty values (not present in the above example code). Apparently the API doesn't like that. If the values are empty, they should not be included.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?