码迷,mamicode.com
首页 > Web开发 > 详细

03 http+socket编程批量发帖

时间:2015-03-11 23:14:44      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:

<?php

//
http请求类的接口 interface Proto { // 连接url function conn($url); //发送get查询 function get(); // 发送post查询 function post(); // 关闭连接 function close(); } class Http implements Proto { const CRLF = "\r\n"; protected $errno = -1; protected $errstr = ‘‘; protected $response = ‘‘; protected $url = null; protected $version = HTTP/1.1; protected $fh = null; protected $line = array(); protected $header = array(); protected $body = array(); public function __construct($url) { $this->conn($url); $this->setHeader(Host: . $this->url[host]); } // 此方法负责写请求行 protected function setLine($method) { $this->line[0] = $method . . $this->url[path] . . $this->version; } // 此方法负责写头信息 protected function setHeader($headerline) { $this->header[] = $headerline; } // 此方法负责写主体信息 protected function setBody($body) { $this->body[] = http_build_query($body); } // 连接url public function conn($url) { $this->url = parse_url($url); // 判断端口 if(!isset($this->url[port])) { $this->url[port] = 80; } $this->fh = fsockopen($this->url[host],$this->url[port],$this->errno,$this->errstr,3); } //构造get请求的数据 public function get() { $this->setLine(GET); $this->request(); return $this->response; } // 构造post查询的数据 public function post($body = array()) { $this->setLine(POST); // 设计content-type $this->setHeader(Content-type: application/x-www-form-urlencoded); // 设计主体信息,比GET不一样的地方 $this->setBody($body); // 计算content-length $this->setHeader(Content-length: . strlen($this->body[0])); $this->request(); } // 真正请求 public function request() { // 把请求行,头信息,实体信息 放在一个数组里,便于拼接 $req = array_merge($this->line,$this->header,array(‘‘),$this->body,array(‘‘)); //print_r($req); $req = implode(self::CRLF,$req); //echo $req; exit; fwrite($this->fh,$req); while(!feof($this->fh)) { $this->response .= fread($this->fh,1024); } $this->close(); // 关闭连接 } // 关闭连接 public function close() { fclose($this->fh); } }



set_time_limit(0);


$url = ‘http://xxxxx.net.cn/0523/?‘;


 


for($i=1;$i<100;$i++) {
$str = str_shuffle(‘abcdefghijklmnopqrst0776656‘);
$tit = substr($str,0,5);
$con = substr($str,6,8);


$http = new Http($url);
$http->post(array(‘tit‘=>$tit,‘con‘=>$con,‘submit‘=>‘留言‘));


echo $tit,‘-----------‘,$con,‘<br />‘;


usleep(2000);
}

 

 

03 http+socket编程批量发帖

标签:

原文地址:http://www.cnblogs.com/hgj123/p/4330992.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!