Passing request data as XML in Laravel Http Client

zubairmohsin33 profile image Zubair Mohsin ・1 min read

If you don't know about Laravel Http client yet, give it a read in the official documentation here.

Here's how you can pass the request data while making a POST, PUT or PATCH request as an array (transformed to JSON).

$response = Http::post('http://test.com/users', [
    'name' => 'Steve',
    'role' => 'Network Administrator',

What if you end up with an old school API that still uses XML to receive data?

Here's how you can do this:

    $response = Http::withHeaders([
        "Content-Type" => "text/xml;charset=utf-8"
    ])->send("POST", "http://some-url.com", [
        "body" => '<?xml version="1.0" encoding="utf-8"?>
                            <SaveData xmlns="http://tempuri.org/">

If you know of a better alternative, please let me know :)

Posted on by:


Editor guide

The PHP has the XML extension support.

Try to look at the xmlwriter example :).


Hi. Thanks for the reply.

I am not sure how XMLWriter is relevant here?

This is particularly about "sending xml as request data in an http request".


I think it can use the XML extension to generate XML dynamically.

And not just use the XML string to be a request data.