怎么用php模拟post提交请求得到相应,能给个例子吗
2个回答
展开全部
//这是我写的封装类,也就是模拟POST提交
//$durl也就是URL地址,比如
//$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;
}
//$durl也就是URL地址,比如
//$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;
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询