A. php curl模拟POST问题,为什么明明是模拟的是POST,firebug仍显示GET
以复制出来的curl命令为准。
phpcurl模拟问题可以参考我的博客《PHPcURL实现模拟登录与采集使用方法详解》
http://www.zjmainstay.cn/php-curl
B. 使用php curl 模拟post请求,自动附加了data参数
$post_data_string=http_build_query($post_data,'&');
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$get_session_url);
curl_setopt($ch,CURLOPT_POST,1);
curl_setopt($ch,CURLOPT_POSTFIELDS,$post_data_string);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
$xmloutput=curl_exec($ch);
一般这样写 你自己对比下
C. php curl 模拟post表单向提交数据
不需要抓取数据的话,就只要分析一下对方网站表单需要的字段,然后把action的地址改成对方网站的就提交路径就行了,但如果对方网站提交时要获取cookie的话才需要用curl
D. php,curl模拟post请求,获取不到数据
获取不到数据,通过别的方式检查下服务器是否有数据返回。比如先用get测试。
E. PHP curl模拟POST问题,为什么明明是模拟的是POST,firebug仍显示GET
firebug查看的是你通过浏览器发出的请求, curl是php做的,它是看不到的
你就把curl当成一个浏览器就行了
你可以在curl的接收端打印$_SERVER['REQUEST_METHOD']
或者用fidder抓包工具看下就看到了
F. 用php当中的curl如何模拟这个post提交,我这样写对不对
$post_data=http_build_query($post_data);
另外注意模拟http header头
G. 怎么用php模拟post提交请求得到相应,能给个例子吗
//这是我写的封装类,也就是模拟POST提交
//$rl也就是URL地址,比如
//$data 为POST数组
//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..
更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)
function curl_file_post_contents($rl, $timeout = 5, $data) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $rl);
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_mp($ch);
if ($r === false) { //判断错误
echo curl_error($ch);
}
$info = curl_getinfo($ch); //能够在cURL执行后获取这一请求的有关信息
curl_close($ch);
return $r;
}
H. PHP里模拟Post提交是什么意思
//这是我写的封装类,也就是模拟POST提交
//$rl也就是URL地址,比如www.youku.com
//$timeout超时时间
//$data为POST数组
//模拟POST提交的用途,采集数据,模拟用户登录(为什么现在登录需要验证码,不是为了测你智商..
更不是考你的眼力,而防止你模拟登录..用暴力破解法强行破解密码)
functioncurl_file_post_contents($rl,$timeout=5,$data){
$ch=curl_init();
curl_setopt($ch,CURLOPT_URL,$rl);
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_mp($ch);
if($r===false){//判断错误
echocurl_error($ch);
}
$info=curl_getinfo($ch);//能够在cURL执行后获取这一请求的有关信息
curl_close($ch);
return$r;
}
I. PHP里模拟Post提交是什么意思
php
表单提交常见的就是post和get
模拟提交就是通过其他技术达到post或get的效果
php
常见的模拟就是curl方式了
作用比如说刷票
每次提交它可以模拟ip
逃过ip限制
图片上传
可以post提交
不用模拟
J. php的curl模拟post发送数据,部分丢失
这个需要 url转码 。转码的 目的 是为了 解码
比如 你需要传一个 密码(123456)
你可以先 发送一个 $str= serialize("123456")
然后 解包上面 的 变量 unserialize($str)
这个就是类似的 压缩, 解包 的 过程
加密 解密的 过程
转码 解码 的过程