cURL Post Data - PHP
Written by Codes Tips on March 4, 2009 – 1:21 pm -Introduction
In this post I will talk about using cURL to post data to a server. Curl it’s a library that you can use to get data from a server or send it back. It was created by Daniel Stenberg and it works with ftp,gopher,telnet,file,dict,ldap, http and https protocols. I am not gone write here how you can make to configure and install, I want to show you a method to post data to a server on the http protocol.
How it works?
You need to initiate a cURL session, put the url of the server you wanna POST data, put the options for the current session, execute session and get the data you need.
Here is a list of cURL functions that can help you to post data:
curl_init - it’s is used to initiate a cURL session
curl_setopt - it helps you to pass option to cURL for the next transfer.
curl_exec - executes a cURL session
curl_error - containts the last error of cURL sesion that was executed
Here is a sample code for posting data in PHP:
function datapost($URLServer,$postdata) { $agent = "Mozilla/5.0"; $cURL_Session = curl_init(); curl_setopt($cURL_Session, CURLOPT_URL,$URLServer);<span> </span> curl_setopt($cURL_Session, CURLOPT_USERAGENT, $agent); curl_setopt($cURL_Session, CURLOPT_POST, 1); curl_setopt($cURL_Session, CURLOPT_POSTFIELDS,$postdata); curl_setopt($cURL_Session, CURLOPT_RETURNTRANSFER, 1); curl_setopt($cURL_Session, CURLOPT_FOLLOWLOCATION, 1); $result = curl_exec ($cURL_Session); return $result;<span> </span> } $htmlsource= datapost("http://www.example.com/script.php","param1=value1¶m2=value2")
So first we initiate the cURL sesion with curl_init() and after that we set some options for the current session with curl_setopt and after that we execute the session and get the result.
CURLOPT_URL,$URLServer - this option sets the target script.
CURLOPT_USERAGENT,agent - this is optional, it sends to the server an agent.
CURLOPT_POST - this should be set to 1 because we make a post to the server.
CURLOPT_POSTFIELDS - here we should pass the parameters and there values
CURLOPT_RETURNTRANSFER - should be set to 1(because we store the source of the result in a variable) otherwhise the result will be printed on page
CURLOPT_FOLLOWLOCATION - is important if the server it redirects you after you post the data. If the server redirects should be set to 1.
If you wanna store a cookie when you execute the sesion you should use:
curl_setopt($cURL_Session, CURLOPT_COOKIEFILE, $path_to_cookie); curl_setopt($cURL_Session, CURLOPT_COOKIEJAR, $path_to_cookie);
Tags: PHP/MYSQL
Posted in PHP/MYSQL |
One Comment to “cURL Post Data - PHP”
Leave a Comment
You must be logged in to post a comment.



















May 23rd, 2009 at 3:00 am
[...] know what cURL is and what you can it. If you are new to cURL, you can check one of my article on posting data with cURL , it will give you a brief intro to cURL. To create this with cURL you should know what the [...]