[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 330
  • Last Modified:

How to make curl actually submit posted data

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
rae_rae
Asked:
rae_rae
1 Solution
 
rae_raeAuthor Commented:
please accept this as my request to close this question. It is clear it cannot be answered. Thanks.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now