我在做一个CURL模拟请求,但是请求没有结果,但因curl_error,给的错误是这个:string(62) "Failed to connect to 61.161.141.113 port 1: Connection refused"
请求的URL地址是这个:http://61.161.141.113/search/wzcxrs.action
我模拟的原网址:http://61.161.141.113/searchsys/
是一个查询违章的网站,验证码我已经可以程序识别,现在就是CURL模拟提交,总是提示我上面那个错误,如果直接访问那个URL地址,页面提示不能跨域访问!
服务器端代码应该是用java写的,应该是设置了某些IP不能直接调用wzcxrs.action 这个action!
所以想请教吧内大神们,有没有办法成功模拟POST提交,并获得正确结果!
二楼是我模拟POST的CURL代码~~~~
<?php
header('content-type:text/html;charset=utf-8');
function curlPost($url,$data,$method){
$ch = curl_init(); //1.初始化
curl_setopt($ch, CURLOPT_URL, $url); //2.请求地址
curl_setopt($ch, CURLOPT_CUSTO......
答案就在这里:curl模拟提交(post)
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。
/**
";print_r($data); $ch = curl_init(); curl_setopt($ch,CURLOPT_URL,$url); curl_setopt($ch,CURLOPT_PORT,TRUE); curl_setopt($ch,CURLOPT_HEADER,TRUE); curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); curl_setopt($ch,CURLOPT_REFERER,$referer); curl_setopt($ch,CURLOPT_USERAGENT,$UserAgent); curl_setopt($ch,CURLOPT_POSTFIELDS,$data); $return = curl_exec($ch); var_dump(curl_error($ch)); curl_close($ch); echo "";print_r($return); return $return; }
请求头带上Host试试
用finddler抓包看看,模拟提交的时候和实际网页提交时的参数差别
多谢各位,我不用curl了,改用Snoopy了!~~