Home > Backend Development > PHP Tutorial > Post submission in php

Post submission in php

墨辰丷
Release: 2023-03-25 17:58:02
Original
34878 people have browsed it

This article mainly introduces three methods for PHP to send post requests. Curl, file_get_content, and fsocket are used to implement post submission data. Friends in need can refer to it

Latest Recommended : PHP online live class

Method 1:

/**
 * 发送post请求
 * @param string $url 请求地址
 * @param array $post_data post键值对数据
 * @return string
 */
function send_post($url, $post_data) {
 
  $postdata = http_build_query($post_data);
  $options = array(
    'http' => array(
      'method' => 'POST',
      'header' => 'Content-type:application/x-www-form-urlencoded',
      'content' => $postdata,
      'timeout' => 15 * 60 // 超时时间(单位:s)
    )
  );
  $context = stream_context_create($options);
  $result = file_get_contents($url, false, $context);
 
  return $result;
}
 
//使用方法
$post_data = array(
  'username' => 'stclair2201',
  'password' => 'handan'
);
send_post('http://www.jb51.net', $post_data);
Copy after login
Recommended related articles :
1.《PHP form learning: The use and difference of $_GET and $_POST variables
2.《What are predefined variables in PHP in one minute? ? What is the $_POST variable?
3.《Master the correct method of using POST in PHP
Related video recommendations:
1.Dugu Jiujian ( 4)_PHP video tutorial

Method 2: Socket version

<?php
/**
 * Socket版本
 * 使用方法:
 * $post_string = "app=socket&version=beta";
 * request_by_socket(&#39;chajia8.com&#39;, &#39;/restServer.php&#39;, $post_string);
 */
function request_by_socket($remote_server,$remote_path,$post_string,$port = 80,$timeout = 30) {
  $socket = fsockopen($remote_server, $port, $errno, $errstr, $timeout);
  if (!$socket) die("$errstr($errno)");
  fwrite($socket, "POST $remote_path HTTP/1.0");
  fwrite($socket, "User-Agent: Socket Example");
  fwrite($socket, "HOST: $remote_server");
  fwrite($socket, "Content-type: application/x-www-form-urlencoded");
  fwrite($socket, "Content-length: " . (strlen($post_string) + 8) . "");
  fwrite($socket, "Accept:*/*");
  fwrite($socket, "");
  fwrite($socket, "mypost=$post_string");
  fwrite($socket, "");
  $header = "";
  while ($str = trim(fgets($socket, 4096))) {
    $header .= $str;
  }
 
  $data = "";
  while (!feof($socket)) {
    $data .= fgets($socket, 4096);
  }
 
  return $data;
}
?>
Copy after login

Method 3: Curl version

<?php
/**
 * Curl版本
 * 使用方法:
 * $post_string = "app=request&version=beta";
 * request_by_curl(&#39;http://www.jb51.net/restServer.php&#39;, $post_string);
 */
function request_by_curl($remote_server, $post_string) {
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_URL, $remote_server);
  curl_setopt($ch, CURLOPT_POSTFIELDS, &#39;mypost=&#39; . $post_string);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
  curl_setopt($ch, CURLOPT_USERAGENT, "jb51.net&#39;s CURL Example beta");
  $data = curl_exec($ch);
  curl_close($ch);
 
  return $data;
}
?>
Copy after login


The above is the detailed content of Post submission in php. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template