Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

GocaninTs's avatar

How to send 'BODY' parameter to Restlet API post request?

Hello , i need to rewrite this code to be POST request with body parameters . is there any suggestion how to include body data.

Thanks in advance.

0 likes
1 reply
GocaninTs's avatar

This is my code.

function generateRandomString()

{

$length = 20;

$characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';

$charactersLength = strlen($characters);

$randomString = '';

for ($i = 0; $i < $length; $i++) {

    $randomString .= $characters[rand(0, $charactersLength - 1)];

}

return $randomString;

}

$method = $_GET['method'];

$url = 'https://rest.netsuite.com/app/site/hosting/restlet.nl?script=XXXX&deploy=1';

$url= 'https://XXXXXXX.restlets.api.netsuite.com/app/site/hosting/restlet.nl?script=XXXX&deploy=1&method='.$method;

$ckey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Consumer key

$csecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Consumer secret

$tkey = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Token ID

$tsecret = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'; // Token secret

$consumer = new OAuthConsumer($ckey,$csecret);

$token = new OAuthToken($tkey,$tsecret);

$sig = new OAuthSignatureMethod_HMAC_SHA1();

$params = array(

'oauth_nonce' => generateRandomString(),

'oauth_timestamp' => idate('U'),

'oauth_version' => '1.0',

'oauth_token' => $tkey,

'oauth_consumer_key' => $ckey,

'oauth_signature_method' => $sig->get_name()

);

$req = new OAuthRequest('GET',$url,$params);

$req->set_parameter('oauth_signature',$req->build_signature($sig,$consumer,$token));

$req->set_parameter('realm','XXXXXXX');

$header = array(

'http' => array(

    'method' => "GET",

    'header' => $req->to_header().',realm="XXXXXXX"'."\r\n".

        "Content-Type: text/plain",

)

);

$context = stream_context_create($header);

$fp = fopen('https://XXXXXXX.restlets.api.netsuite.com/app/site/hosting/restlet.nl?

script=XXXX&deploy=1&method='.$method,'r',false,$context);

$data = fpassthru($fp);

fclose($fp);

Please or to participate in this conversation.