content/flux/v0/stdlib/http/requests/post.md
requests.post() makes a http POST request. This identical to calling request.do(method: "POST", ...).
(
url: string,
?body: bytes,
?config: {A with timeout: duration, insecureSkipVerify: bool},
?headers: [string:string],
?params: [string:[string]],
) => {statusCode: int, headers: [string:string], duration: duration, body: bytes}
{{% caption %}} For more information, see Function type signatures. {{% /caption %}}
({{< req >}}) URL to request. This should not include any query parameters.
Set of key value pairs to add to the URL as query parameters. Query parameters will be URL encoded. All values for a key will be appended to the query.
Set of key values pairs to include on the request.
Data to send with the request.
Set of options to control how the request should be performed.
import "http/requests"
import ejson "experimental/json"
import "json"
import "array"
response =
requests.post(
url: "https://goolnk.com/api/v1/shorten",
body: json.encode(v: {url: "http://www.influxdata.com"}),
headers: ["Content-Type": "application/json"],
)
data = ejson.parse(data: response.body)
array.from(rows: [data])
{{< expand-wrapper >}} {{% expand "View example output" %}}
| result_url |
|---|
| https://goolnk.com/BnXAE6 |
{{% /expand %}} {{< /expand-wrapper >}}
import "http/requests"
response =
requests.post(url: "http://example.com", params: ["start": ["100"], "interval": ["1h", "1d"]])
// Full URL: http://example.com?start=100&interval=1h&interval=1d
requests.peek(response: response)
{{< expand-wrapper >}} {{% expand "View example output" %}}
| statusCode | body | headers | duration |
|---|---|---|---|
| 200 | <!doctype html> |
<meta charset="utf-8" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<style type="text/css">
body {
background-color: #f0f0f2;
margin: 0;
padding: 0;
font-family: -apple-system, system-ui, BlinkMacSystemFont, "Segoe UI", "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
div {
width: 600px;
margin: 5em auto;
padding: 2em;
background-color: #fdfdff;
border-radius: 0.5em;
box-shadow: 2px 3px 7px 2px rgba(0,0,0,0.02);
}
a:link, a:visited {
color: #38488f;
text-decoration: none;
}
@media (max-width: 700px) {
div {
margin: 0 auto;
width: auto;
}
}
</style>
{{% /expand %}} {{< /expand-wrapper >}}