Making POST/PUT Requests
Some advanced users may want to send POST/PUT requests in order to scrape forms and API endpoints directly. You can do this by sending a POST/PUT request through ScraperAPI. The return value will be stringified. So if you want to use it as JSON, you will need to parse it into a JSON object.
- API ENDPOINT REQUEST
<?php $url =
"http://api.scraperapi.com?api_key=APIKEY&url=http://httpbin.org/anything";
# POST/PUT Requests
$postData = ["foo"
=>
"bar"]; $postData = json_encode($postData); $headers = [
"Content-Type: application/json"
]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST,
1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
//Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER,
true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); print_r($response);
#Form POST Request
$postData = ["foo"
=>
"bar"]; $postData = json_encode($postData); $headers = [
'Content-Type: application/x-www-form-urlencoded; charset=utf-8', ]; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST,
true); curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); curl_setopt($ch, CURLOPT_RETURNTRANSFER,
true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); $response = curl_exec($ch); curl_close($ch); print_r($response);
- PROXY MODE
<?php
$postData = ["foo"=>"bar"];
$postData = json_encode($postData);
$headers = [
"Content-Type: application/json"
];
# POST/PUT Request
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://httpbin.org/ip");
curl_setopt($ch, CURLOPT_PROXY, "http://scraperapi:[email protected]:8001");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData); //Post Fields
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
var_dump($response);
puts results
# Form Data POST Request
$postData = ["foo"=>"bar"];
$postData = json_encode($postData);
$headers = [
'Content-Type: application/x-www-form-urlencoded; charset=utf-8',
];
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://httpbin.org/ip");
curl_setopt($ch, CURLOPT_PROXY, "http://scraperapi:[email protected]:8001");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $postData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
print_r($response);
- SDK Method
# remember to install the library: composer require scraperapi/sdk
<?php
$client = new ScraperAPIClient("APIKEY");
$postResult = $client->post("http://httpbin.org/ip", ["foo" => "bar"])->raw_body;
$putResult = $client->put("http://httpbin.org/ip", ["foo" => "bar"])->raw_body;
print($putResult);
Last modified 2mo ago