Use PHP socket to submit data to the specified page_PHP tutorial

WBOY
Release: 2016-07-21 15:51:16
Original
871 people have browsed it

Using load post and so on in jquery, I couldn't get the results I wanted! So suddenly ----- everything I have been thinking about these days has been in vain, and now I have to do this
Now I want to specify it in php The page should submit data, and it should have a return value
So I looked for this function, but I didn’t try it. I thought it would be OK if the space could be passed
It was brought from the village!

Copy code The code is as follows:

/*-------------------------- ---------------------------------------------
*Function :Use PHP socket to submit data to the specified page
*
* Author: Honghe.c
*
* Description: post($url, $data)
*
* $url = 'http://www.jb51.net';
* $data[user] = 'hong';
* $data[pass] = 'xowldo';
* echo post($url , $data);
*------------------------------------------------- ------------------*/

function post($url, $data) {

$url = parse_url($url) ;
if (!$url) return "couldn't parse url";
if (!isset($url['port'])) { $url['port'] = ""; }
if (!isset($url['query'])) { $url['query'] = ""; }

$encoded = "";

while (list ($k,$v) = each($data)) {
$encoded .= ($encoded ? "&" : "");
$encoded .= rawurlencode($k)."=" .rawurlencode($v);
}

$fp = fsockopen($url['host'], $url['port'] ? $url['port'] : 80);
if (!$fp) return "Failed to open socket to $url[host]";

fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $ url['path'], $url['query'] ? "?" : "", $url['query']));
fputs($fp, "Host: $url[host]n" );
fputs($fp, "Content-type: application/x-www-form-urlencodedn");
fputs($fp, "Content-length: " . strlen($encoded) . "n ");
fputs($fp, "Connection: closenn");

fputs($fp, "$encodedn");

$line = fgets($fp,1024 );
if (!eregi("^HTTP/1.. 200", $line)) return;

$results = ""; $inheader = 1;
while(!feof ($fp)) {
$line = fgets($fp,1024);
if ($inheader && ($line == "n" || $line == "rn")) {
         $inheader = 0; 🎜>
return $results;
}

/*
$url = 'http://video.xxx.com:80/game_vm.php';
$data[' gid'] = '1';
echo post($url, $data);
*/

?>





http://www.bkjia.com/PHPjc/319176.html

www.bkjia.com
true

http: //www.bkjia.com/PHPjc/319176.htmlTechArticleUsing loadpost in jquery, etc., I couldn’t get the results I wanted! So suddenly-----this All the things I have been thinking about for a few days have been in vain, and now I have no choice but to do this. Now I want to submit data to the specified page in php...
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