php模拟post数据 php模拟表单提交

PHP里模拟Post提交是什么意思?

//这是我写的封装类,也就是模拟POST提交

你所需要的网站建设服务,我们均能行业靠前的水平为你提供.标准是产品质量的保证,主要从事成都网站设计、网站制作、企业网站建设、移动网站建设、网页设计、品牌网站制作、网页制作、做网站、建网站。成都创新互联拥有实力坚强的技术研发团队及素养的视觉设计专才。

//$durl也就是URL地址,比如

//$timeout超时时间

//$data 为POST数组

//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..

更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)

function curl_file_post_contents($durl, $timeout = 5, $data) {

$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, $durl);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);

curl_setopt($ch, CURLOPT_USERAGENT, _USERAGENT_);

curl_setopt($ch, CURLOPT_REFERER, _REFERER_);

curl_setopt($ch, CURLOPT_POST, 1); //设置为POST传输

curl_setopt($ch, CURLOPT_POSTFIELDS, $data); //添加post数据

$r = curl_exec($ch);

var_dump($ch);

if ($r === false) {  //判断错误

echo curl_error($ch);

}

$info = curl_getinfo($ch);  //能够在cURL执行后获取这一请求的有关信息

curl_close($ch);

return $r;

}

php实现模拟post请求用法实例

本文实例讲述了php实现模拟post请求的方法。分享给大家供大家参考。具体如下:

class

Request{

public

static

function

post($url,

$post_data

=

'',

$timeout

=

5){//curl

$ch

=

curl_init();

curl_setopt

($ch,

CURLOPT_URL,

$url);

curl_setopt

($ch,

CURLOPT_POST,

1);

if($post_data

!=

''){

curl_setopt($ch,

CURLOPT_POSTFIELDS,

$post_data);

}

curl_setopt

($ch,

CURLOPT_RETURNTRANSFER,

1);

curl_setopt

($ch,

CURLOPT_CONNECTTIMEOUT,

$timeout);

curl_setopt($ch,

CURLOPT_HEADER,

false);

$file_contents

=

curl_exec($ch);

curl_close($ch);

return

$file_contents;

}

public

static

function

post2($url,

$data=array()){//file_get_content

$postdata

=

http_build_query(

$data

);

$opts

=

array('http'

=

array(

'method'

=

'POST',

'header'

=

'Content-type:

application/x-www-form-urlencoded',

'content'

=

$postdata

)

);

$context

=

stream_context_create($opts);

$result

=

file_get_contents($url,

false,

$context);

return

$result;

}

public

static

function

post3($host,$path,$query,$others=''){//fsocket

$post="POST

$path

HTTP/1.1\r\nHost:

$host\r\n";

$post.="Content-type:

application/x-www-form-";

$post.="urlencoded\r\n${others}";

$post.="User-Agent:

Mozilla

4.0\r\nContent-length:

";

$post.=strlen($query)."\r\nConnection:

close\r\n\r\n$query";

$h=fsockopen($host,80);

fwrite($h,$post);

for($a=0,$r='';!$a;){

$b=fread($h,8192);

$r.=$b;

$a=(($b=='')?1:0);

}

fclose($h);

return

$r;

}

}

$url='http://******/con/Inter.php';

$data=Request::post($url,array('api'='tag_list'));

$data2=Request::post2($url,array('api'='tag_list'));

echo

$data;

希望本文所述对大家的php程序设计有所帮助。

php模拟post请求,获取不到数据

这个问题我没见过,很感兴趣

类似的问题我见过一些。您是不是还上传了什么东西,然后请你把上传上限复原,如果就是两个字符串的话不用那么大。如果提示你大小出现问题就是别的问题了

修改配置的话,记得重启Apache

然后我的解决方法就是,把代码删除,重打一遍

只是传两个字符串我不信不好使

还有一个很恶心的问题,缓存

如果再不行就去重新建一个文件测试下。


文章名称:php模拟post数据 php模拟表单提交
标题路径:http://ybzwz.com/article/doieesj.html