简体   繁体   中英

cURL to 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",
            ]
        ]);

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.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM