I am failing to post using curl in php to the url: http://example.com/sms/sms.aspx
The post string should be in the pattern:example.com/sms/sms.aspx?uid=9746674889&pwd=passwod&phone=9746674889&msg=hjgyjgKJKJK&provider=way2sms&send=SEND
If it is posted the output will Be 1 else -1
Can anyone help me in the curl part
<?php
//extract data from the post
// extract($_GET);
$uid = $_GET['uid'];
$phone = $_GET['phone'];
$pwd = $_GET['pwd'];
$msg = $_GET['msg'];
$provider = 'way2sms';
//set POST variables
$fields = array(
'uid'=>rawurlencode($uid),
'phone'=>rawurlencode($phone),
'pwd'=>rawurlencode($pwd),
'msg'=>rawurlencode($msg),
'provider'=>rawurlencode($provider)
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string,'&');
///curl part(please help)
?>
Here is a basic cURL POST script. It has no error handling - you should definitely read the cURL manual .
<?php
// Destination URL
$url = 'http://ubaid.tk/sms/sms.aspx';
// Raw data to send
$fields = array(
'uid' => $_GET['uid'],
'phone'=>$_GET['phone'],
'pwd'=>$_GET['pwd'],
'msg'=>$_GET['msg'],
'provider'=>'way2sms'
);
// Build $fields into an encoded string
$body = http_build_query($fields);
// Initialise cURL
$ch = curl_init($url);
// Set options (post request, return body from exec)
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $body);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// Do the request
$result = curl_exec($ch);
// Echo the result
echo $result;
EDIT
Since what you actually want is GET and not POST, the code gets a lot simpler:
<?php
// Destination URL
$url = 'http://ubaid.tk/sms/sms.aspx';
// Raw data to send
$fields = array(
'uid' => $_GET['uid'],
'phone'=>$_GET['phone'],
'pwd'=>$_GET['pwd'],
'msg'=>$_GET['msg'],
'provider'=>'way2sms'
);
// Build $fields into an encoded string and append to URL
$url .= '?'.http_build_query($fields);
// Initialise cURL
$ch = curl_init($url);
// Set options (post request, return body from exec)
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
// Do the request
$result = curl_exec($ch);
// Echo the result
echo $result;
...or this whole thing could be done without cURL as:
<?php
// Destination URL
$url = 'http://ubaid.tk/sms/sms.aspx';
// Raw data to send
$fields = array(
'uid' => $_GET['uid'],
'phone'=>$_GET['phone'],
'pwd'=>$_GET['pwd'],
'msg'=>$_GET['msg'],
'provider'=>'way2sms'
);
// Build $fields into an encoded string and append to URL
$url .= '?'.http_build_query($fields);
// Do the request
$result = file_get_contents($url);
// Echo the result
echo $result;
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.