欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

php模拟post取得jsp查询数据,使用的是curl,出现问题,求指教

程序员文章站 2022-06-08 21:52:55
...
想通过PHP用curl取得jsp页面查询结果。
正确结果应为(官网直接输入查询得到的):

我自己写的一段代码(利用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网页,可否请教一些问题