Solved

How to make curl actually submit posted data

Posted on 2008-06-25
3
302 Views
Last Modified: 2013-11-25
I am curious how I can make my $curl request actually submit the data it is posting. I need to make curl return an HTTP code of 202 intead of 200? In other words, I want my curl object to actually complete the POST by submitting the form.

I have attached my code.
<?php
 

class instanceOfCurl

{

	public function __construct($url, $params) {

		if (empty($url) or empty($params)) {

			return FALSE;

		}
 

		$this->url = $url;

		$this->params = $params;
 

		// Set the user browser

		$this->user_agent = "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)";
 

		// Instantiate curl

		$this->curl = curl_init();
 

		// Allow redirect

		curl_setopt($this->curl, CURLOPT_FOLLOWLOCATION, 1);
 

		// We are posting to the page

		curl_setopt($this->curl, CURLOPT_POST,1);
 

		// Build a query string to append to the URL

		$arguements = http_build_query($this->params);

		curl_setopt($this->curl, CURLOPT_POSTFIELDS,$arguements);
 

		// Don't use a cached version of the URL

		curl_setopt($this->curl, CURLOPT_FRESH_CONNECT, 1);
 

		// Set the URL we are posting to

		curl_setopt($this->curl, CURLOPT_URL,$this->url);
 

		// Get the header only

		curl_setopt($this->curl, CURLOPT_HEADER, 1);

		curl_setopt($this->curl, CURLOPT_NOBODY, 1);
 

		// Set the user browser

		curl_setopt($this->curl, CURLOPT_USERAGENT, $this->user_agent);
 

		// Set the return transfer as string

		curl_setopt($this->curl, CURLOPT_RETURNTRANSFER, 1);
 

		// Execute the request

		$this->result = curl_exec($this->curl);
 

		// Check if the request was not sent

		if (!$this->result) {

			return FALSE;

		}
 

		// Get the HTTP code

		$this->httpcode = curl_getinfo($this->curl, CURLINFO_HTTP_CODE);
 

		// Close out the object

		curl_close($this->curl);
 

		return $this->getOutput();

	}
 

	private function getOutput() {

		print "HTTP code: $this->httpcode, Result: $this->result";

	}

}
 

// Use case login:

$curl = new instanceOfCurl('http://10.0.0.110/~mypath/dd/?page=Login', array(

	'page' => 'Login',

	'last_class' => 'ChooseSite',

	'login_username' => 'my_username',

	'login_password' => 'my_password',

	'login_db' => 'my_database'

));
 

// Look into framework errors
 

?>

Open in new window

0
Comment
Question by:rae_rae
3 Comments
 
LVL 3

Accepted Solution

by:
rae_rae earned 0 total points
Comment Utility
please accept this as my request to close this question. It is clear it cannot be answered. Thanks.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

This is an explanation of a simple data model to help parse a JSON feed
In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…

763 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now