PHP cURL Help - PHP to Java sever communication
| Author |
Message |
jin
|
Posted: Wed Feb 23, 2011 6:57 pm Post subject: PHP cURL Help - PHP to Java sever communication |
|
|
Hi I am trying to communicate between a web server (apache, php) and a chat server (openfire in java) I need to create a chat room from a php call. I found some code that says it does this but i cant get it to work, I have never worked with cURL before so was trying to rewrite this to understand a well but still nothing. index.php and open.php are what i founnd and also showed its output. For the code i wrote i am only trying to login and the index but it keeps displaying the login form its as if the username and password are not being used. Any help would be appreciated.
| code: |
Index.php
<form name="input" action="open.php" method="post">
room name:<input type="text" name="roomname"><br>
room desc:<input type="text" name="roomdesc"><br>
room topic:<input type="text" name="roomtopic"><br>
debug<input type="checkbox" name="debug"><br>
<input type="submit" name="Submit">
</form> |
| code: |
Open.php
<?php
/*
* open.php - Sets CURL command line args, with data sent via POST,
* then uses PHP system() function to create chat rooms,
* using listed options.
*/
$opf_uid = "admin";
$opf_pwd = "admin";
$curl_cookie_file = '/tmp/opf_cookie.' . rand() . '.dat';
if (isset($_POST["roomname"]) and
isset($_POST["roomdesc"]) and
isset($_POST["roomtopic"])) {
if (isset($_POST["debug"])) {
print "<p>" . $_POST["roomname"] . "</p>\n";
print "<p>" . $_POST["roomdesc"] . "</p>\n";
print "<p>" . $_POST["roomtopic"] . "</p>\n";
print "<p>". $curl_cookie_file . "</p>\n";
}
$curl_req_1 = "/usr/bin/curl -D " . $curl_cookie_file . " " .
"-d username=" . $opf_uid . " " .
"-d password=" . $opf_pwd . " " .
"-d login=true " .
"-d url=\"" . urlencode('/muc-room-edit-form.jsp?create=true') ."\" " .
"\"http://localhost:9090/login.jsp\" &> /dev/null";
$curl_req_2 = "/usr/bin/curl -b " . $curl_cookie_file . " " .
"-d roomconfig_persistentroom=true " .
"-d roomName=" . $_POST["roomname"] . " " .
"-d roomconfig_roomname=" . $_POST["roomname"] . " " .
"-d roomconfig_roomdesc=" . urlencode($_POST["roomdesc"]) . " " .
"-d room_topic=" . urlencode($_POST["roomtopic"]) . " " .
"-d roomconfig_maxusers=30 " .
"-d roomconfig_presencebroadcast=true " .
"-d roomconfig_presencebroadcast2=true " .
"-d roomconfig_presencebroadcast3=true " .
"-d roomconfig_roomsecret='' " .
"-d roomconfig_roomsecret2='' " .
"-d roomconfig_whois=anyone " .
"-d roomconfig_publicroom=true " .
"-d roomconfig_allowinvites=true " .
"-d roomconfig_enablelogging=true " .
"-d roomconfig_reservednick=true " .
"-d Submit=" . urlencode('Save Changes') . " " .
"\"http://localhost:9090/muc-room-edit-form.jsp?save=true&create=true\" &> /dev/null";
if (isset($_POST["debug"])) {
print "<p>". $curl_req_1 . "</p>\n";
print "<p>". $curl_req_2 . "</p>\n";
}
/* You may want to add logic that checks the return value */
system($curl_req_1);
system($curl_req_2);
unlink($curl_cookie_file);
}
?> |
| code: |
Output of open.php with debug on
fg
fg
ghj
/tmp/opf_cookie.19581.dat
/usr/bin/curl -D /tmp/opf_cookie.19581.dat -d username=admin -d password=admin -d login=true -d url="%2Fmuc-room-edit-form.jsp%3Fcreate%3Dtrue" "http://localhost:9090/login.jsp" &> /dev/null
/usr/bin/curl -b /tmp/opf_cookie.19581.dat -d roomconfig_persistentroom=true -d roomName=fg -d roomconfig_roomname=fg -d roomconfig_roomdesc=fg -d room_topic=ghj -d roomconfig_maxusers=30 -d roomconfig_presencebroadcast=true -d roomconfig_presencebroadcast2=true -d roomconfig_presencebroadcast3=true -d roomconfig_roomsecret='' -d roomconfig_roomsecret2='' -d roomconfig_whois=anyone -d roomconfig_publicroom=true -d roomconfig_allowinvites=true -d roomconfig_enablelogging=true -d roomconfig_reservednick=true -d Submit=Save+Changes "http://localhost:9090/muc-room-edit-form.jsp?save=true&create=true" &> /dev/null
Warning: unlink(/tmp/opf_cookie.19581.dat) [function.unlink]: No such file or directory in C:\xampp\htdocs\test\open.php on line 72
|
| code: |
Mytest.php
<?php
// Data to post
$postData = array(
'username' => 'admin',
'password' => 'admin',
'login' => 'true',
);
// create curl resource
$ch = curl_init();
// set url
curl_setopt($ch, CURLOPT_URL, "localhost:9090/login.jsp");
//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
// $output contains the output string
$output = curl_exec($ch);
// close curl resource to free up system resources
curl_close($ch);
echo $output;
?> |
|
|
|
|
|
 |
Sponsor Sponsor

|
|
 |
|
|