View Full Version : PHP cURL is driving me mad!
c1pkw
05-07-2007, 11:00 AM
Hi there,
I'm new to the forum and unfortunately new to the cURL library too. This function has been driving me mad. Can anyone help me out and tell me what I'm doing wrong in it?
Thanks in advance,
Paul.
/*RequestIncoming Function */
function RequestIncoming($user, $pass) {
global $bcURL;
print 'user: ' . $user . '<p>';
print 'pass: ' . $pass . '<p>';
$data = "userId=".urlencode($user) . "&password=".urlencode($pass);
print 'data: ' . $data;
$get_url = $bcURL . '?' . $data;
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, $bcURL);
curl_setopt($cUrl, CURLOPT_TIMEOUT, 30);
curl_exec($cUrl);
$code = curl_getinfo($cUrl, CURLINFO_HTTP_CODE);
curl_close($cUrl);
return $code;
print 'code: ' . $code;
}
SKDevelopment
05-07-2007, 02:00 PM
The code of your function seems to work. The only thing I noticed, the line
print 'code: ' . $code;
will never be executed, because it is called after "return" statement.
Maybe the code works but not in the way you would like it to work ? In this case it would be great if you could describe more in detail what the exact purpose of this function is. It would make it simpler to help you.
firepages
05-08-2007, 03:06 AM
where exactly are you passing this URL to cURL ?
<?php
$get_url = $bcURL . '?' . $data;
?>
c1pkw
05-08-2007, 11:04 AM
Hi there,
Im having a real heap of trouble with PHP and cURL
My aim is to use this code (or something like it) to submit 2 fields to a remote server (using GET) and receive back 6 fields (again with GET).
When I run the function below, I get back a 401 unauthorized error although the Username and Password are correct. Presumably then, they are not reaching the remote server at all or in the correct state. Problem is, I know so little about cURL that I dont know what the correct state is., and thats before I start worrying about getting data back from the server!
Below is the guide from the service provider about communicating with their server. Unfortunately they have been of absolutely no help so far so Id be really grateful if you could give me any suggestions about where I am going wrong and what I should do instead.
Yours,
Paul.
//Constants
$bcUser = 'ConnectBusinessUK';
$bcPass = 'xxxxxx';
$bcURL = 'http://service.bulletinconnect.net/api/1/sms/in';
$bcRatecode = FALSE;
//Receive function
function Receive($user, $pass) {
global $bcURL;
$data = "userId=".urlencode($user)
. "&password=".urlencode($pass);
$cUrl = curl_init();
curl_setopt($cUrl, CURLOPT_URL, $bcURL);
curl_setopt($cUrl, CURLOPT_HEADER, 'Content-type: application/x-www-form-urlencoded');
curl_setopt($cUrl, CURLOPT_GET, 1);
curl_setopt($cUrl, CURLOPT_GETFIELDS, $data);
curl_setopt($cUrl, CURLOPT_TIMEOUT, 30);
curl_exec($cUrl);
$code = curl_getinfo($cUrl, CURLINFO_HTTP_CODE);
curl_close($cUrl);
return ($code == 200 || $code == 204) ? TRUE : FALSE;
}
//Execute function
Receive($bcUser, $bcPass);
************************************************************************
To Receive a Message
Clients can GET incoming messages from http://service.bulletinconnect.net/api/1/sms/in . Users of the AAPT Bulletin Connect will need to use a different URL for Sending and Receiving Messages/Staus updates. See the AAPT Bulletin Connect section for more details on what URL you should use.
Required Input parameters are:
userId
password
The userId and password are supplied to you by Bulletin Wireless when you sign up for a Bulletin Connect account. You may pass them to the server in a query string, or in the HTTP Authorization header in Basic format.
Bulletin Connect will respond to each and every HTTP request with one of the following result codes.
200- OK
204- No content to return
401- Unauthorized
500- Internal error
For 200 codes (success) Bulletin Connect will include a form encoded parameter list containing message information as described here
messageID
from
to
rateCode
inReplyTold
body
N.B. The order of the parameters may change so use value/pair matching rather than location mapping.
vBulletin® v3.8.2, Copyright ©2000-2012, Jelsoft Enterprises Ltd.