php模拟post取得jsp查询数据,使用的是curl,出现问题,求指教
正确结果应为(官网直接输入查询得到的):
我自己写的一段代码(利用curl)得到的结果如下:
具体编码:
不知为什么,我测试输入的数据是:发票代码:fpdm1=221011270133 发票流水号:fphm1=06649746
可是我用curl返回的结果与手工从官网上查询到的结果不一样,求高手指点一下,多谢!
回复讨论(解决方案)
他那不是要登录吗?还要安装控件
你不登陆就可访问吗?
嗯,不需要登录
$url = 'http://218.25.48.198/jsp/fpzjcx/fpzjcx_jg.jsp';$ch = curl_init();curl_setopt($ch,CURLOPT_URL,$url);curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_POSTFIELDS, 'fpdm1=221011270133&fphm1=06649746');curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);$data = curl_exec($ch);echo $data;
查询结果 | ||||
您好,恭喜您已进入第20130501期奖池,您有4次参与摇奖机会,摇奖号码起221011270133066497460001,摇奖号码止221011270133066497460004,开奖日期为2013年6月第二周的周三,祝您中奖。 | ||||
|
那个是需要登录才可以访问的
所以你首先要模拟登录先
汗,我怎么放问提示要登录呢?
“网上报税系统出现问题,请关闭浏览器,稍后重新登录!”
是的,直接访问 http://218.25.48.198/jsp/fpzjcx/fpzjcx_jg.jsp 就是那个提示
提交过去就对了
“网上报税系统出现问题,请关闭浏览器,稍后重新登录!”
呵呵,已经成功了。我之所以得不到正确结果,是因为参数传递的类型不对。
是的,直接访问 http://218.25.48.198/jsp/fpzjcx/fpzjcx_jg.jsp 就是那个提示
提交过去就对了
“网上报税系统出现问题,请关闭浏览器,稍后重新登录!”
上一张最终的效果,同时对大家的帮助表示感谢!
求大神指教 我也是同样的问题 我也是微信 需要模拟开发 大神是怎么解决的啊 附上我的代码
$url='http://cx.ytjj.gov.cn:9081/ytjjvio/veh4tablevio.action?444';
$post_data= array (
"vehvio.hphm"=>'鲁FZJ801',
"vehvio.clsbdh" =>'3235',
"vehvio.hpzl" => "02"
);
$ch = curl_init();
// 设置URL和相应的选项
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 3);//设置为POST方式
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, "vehvio.hphm=鲁FZJ801&vehvio.clsbdh=3235&vehvio.hpzl=02");
//curl_setopt($ch, CURLOPT_ENCODING, "utf-8"); // 关键在这里
// 抓取URL并把它传递给浏览器
$content = curl_exec($ch);
echo $content . "_";
exit;
楼主,我要模拟登录一个jsp网页,可否请教一些问题
下一篇: PHP正则表达式的使用技巧