Using PHP and CURL to log in to a website

PHP
The other day I wanted to automate some downloading from a username and password secured website. I wrote a quick script and it is working like a dream, below is the CURL part of the code that does the logging in and download. $username = 'myuser'; $password = 'mypass'; $loginUrl = 'http://www.example.com/login/'; //init curl $ch = curl_init(); //Set the URL to work with curl_setopt($ch, CURLOPT_URL, $loginUrl); // ENABLE HTTP POST curl_setopt($ch, CURLOPT_POST, 1); //Set the post parameters curl_setopt($ch, CURLOPT_POSTFIELDS, 'user='.$username.'&pass='.$password); //Handle cookies for the login curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); //Setting CURLOPT_RETURNTRANSFER variable to 1 will force cURL //not to print out the results of its query. //Instead, it will return the results as a string return value //from curl_exec() instead of the usual true/false. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //execute the request (the…
Read More

PECL UUID extension on Mac OSX

Mac, PECL, PHP
Today I needed to set up the PECL UUID PHP module on my Mac OSX 10.7 Lion development machine, I needed it for a project that I'm working on. My first reaction was to fire up terminal and run sudo pecl install uuid. It all looked good for a moment but then came to a grinding halt when 'make' failed. Here is the error for reference (and for those searching snippets of it): cc -I. -I/private/tmp/pear/temp/uuid -DPHP_ATOM_INC -I/private/tmp/pear/temp/pear-build-rootEEpqkn/uuid-1.0.2/include -I/private/tmp/pear/temp/pear-build-rootEEpqkn/uuid-1.0.2/main -I/private/tmp/pear/temp/uuid -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext -I/usr/include/php/ext/date/lib -I/include -DHAVE_CONFIG_H -g -O2 -c /private/tmp/pear/temp/uuid/uuid.c  -fno-common -DPIC -o .libs/uuid.o /private/tmp/pear/temp/uuid/uuid.c: In function ‘zm_startup_uuid’: /private/tmp/pear/temp/uuid/uuid.c:89: error: ‘UUID_TYPE_DCE_TIME’ undeclared (first use in this function) /private/tmp/pear/temp/uuid/uuid.c:89: error: (Each undeclared identifier is reported only once /private/tmp/pear/temp/uuid/uuid.c:89: error: for each function it appears in.) /private/tmp/pear/temp/uuid/uuid.c:90: error: ‘UUID_TYPE_DCE_RANDOM’ undeclared…
Read More

Installing and setting up PEAR

Mac, PHP
This post will help you get PEAR installed and up and running on your machine, there are two options to below, one describes an OXS Lion specific setup and the other is more generic. Installing on OSX 10.7 Lion OSX Lion already has the PEAR install bundle so there is no need to download it, open up a terminal window and enter the following commands: cd /usr/lib/php sudo php install-pear-nozlib.phar   Downloading and installing Do not follow this part if you have just done the above steps. Otherwise enter the below into a terminal window: curl http://pear.php.net/go-pear.phar > go-pear.php sudo php -q go-pear.php It will ask you to enter a new installation base ($prefix). I recommend you use /usr/local   Configuring PHP include path Edit /etc/php.ini and find the line: ;include_path = ".:/php/includes". Uncomment it…
Read More