Bagaimana untuk menghantar borang secara automatik dalam php (berdasarkan kemahiran fsockopen dan curl)_php

PHP中文网
Lepaskan: 2016-05-16 09:00:03
asal
1747 orang telah melayarinya

Contoh dalam artikel ini menerangkan cara PHP boleh menyerahkan borang secara automatik berdasarkan fsockopen dan curl. Kongsi dengan semua orang untuk rujukan anda, butirannya adalah seperti berikut:

Kedua-dua fsockopen dan curl boleh melakukan penyerahan borang automatik PHP

1. Kaedah fsockopen:

kod php:

<?php
/*-----------------------------------------------------------
*功能:使用PHP socke 向指定页面提交数据
*作者:果冻  说明:post($url, $data)
*
*    $url   = &#39;http://www.xxx.com:8080/login.php&#39;;
*    $data[user] = &#39;hong&#39;;
*    $data[pass] = &#39;xowldo&#39;;
*    echo post($url, $data);
*-----------------------------------------------------------*/
function post($url, $data) {
  $url = parse_url($url);
   if (!$url) return "couldn&#39;t parse url";
   if (!isset($url[&#39;port&#39;])) { $url[&#39;port&#39;] = ""; }
   if (!isset($url[&#39;query&#39;])) { $url[&#39;query&#39;] = ""; }
  $encoded = "";
   while (list($k,$v) = each($data)) {
    $encoded .= ($encoded ? "&" : "");
    $encoded .= rawurlencode($k)."=".rawurlencode($v);
   }
  $fp = fsockopen($url[&#39;host&#39;], $url[&#39;port&#39;] ? $url[&#39;port&#39;] : 80);
   if (!$fp) return "Failed to open socket to $url[host]";
  fputs($fp, sprintf("POST %s%s%s HTTP/1.0n", $url[&#39;path&#39;], $url[&#39;query&#39;] ? "?" : "", $url[&#39;query&#39;]));
  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;
   }
   elseif (!$inheader) {
    $results .= $line;
   }
   }
  fclose($fp);
   return $results;
}
/*
$url = &#39;http://video.xxx.com:80/game_vm.php&#39;;
$data[&#39;gid&#39;] = &#39;1&#39;;
echo post($url, $data);
*/
?>
Salin selepas log masuk

2. Kaedah Curl:

kod php:

<?php
  $url = &#39;http://localhost/curl/result.php&#39;;
  $params = "param=123¶m2=333"; //What will be posted
  $user_agent = "Mozilla/5.0 (compatible; MSIE 5.01; Windows NT 5.0)";
  $ch = curl_init();
  curl_setopt($ch, CURLOPT_POST,1);
  curl_setopt($ch, CURLOPT_POSTFIELDS,$params);
  curl_setopt($ch, CURLOPT_URL,$url);
  curl_setopt($ch, CURLOPT_USERAGENT, $user_agent);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
  $result=curl_exec ($ch); //execut
  curl_close ($ch);
  echo "Results: <br>".$result;
?>
Salin selepas log masuk

result.php (hanya untuk ujian)

<?php
print_r($_POST);
?>
Salin selepas log masuk

Di atas ialah kandungan kaedah penyerahan borang automatik php (berdasarkan fsockopen dan curl)_php kemahiran, Untuk kandungan yang lebih berkaitan, sila beri perhatian kepada laman web PHP Cina (m.sbmmt.com)!


Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!