返回信息流想通过curl的方式模拟登录,但是一直得到404,求指点~~
代码:
$url = 'https://bbs.byr.cn/user/ajax_login.json';
$data = array('id' => 'XXX', 'passwd' => 'XXX');
$header = array(
'Host' => 'bbs.byr.cn',
'content-type' => 'application/x-www-form-urlencoded; charset=UTF-8',
'user-agent' => 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36',
'x-requested-with' => 'XMLHttpRequest',
);
$ch = curl_init();
//curl_setopt($ch, CURLOPT_TIMEOUT, 30);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST,FALSE);
curl_setopt($ch, CURLOPT_HEADER, $header);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
curl_setopt($ch, CURLOPT_POST, TRUE);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$output = curl_exec($ch);
print_r(curl_getinfo($ch));
print_r(curl_errno($ch)); //查看报错信息
curl_close($ch);
echo 'result = ';print_r($output);
返回结果:
Array
(
[url] => https://bbs.byr.cn/user/ajax_login.json
[content_type] => text/html
[http_code] => 404
[header_size] => 236
[request_size] => 199
[filetime] => -1
[ssl_verify_result] => 20
[redirect_count] => 0
[total_time] => 0.656
[namelookup_time] => 0
[connect_time] => 0.015
[pretransfer_time] => 0.625
[size_upload] => 238
[size_download] => 0
[speed_download] => 0
[speed_upload] => 362
[download_content_length] => -1
[upload_content_length] => 238
[starttransfer_time] => 0.625
[redirect_time] => 0
[certinfo] => Array
(
)
[redirect_url] =>
)
0result = HTTP/1.1 100 Continue
HTTP/1.1 404 Not Found
Server: nginx/1.10.0
Date: Sun, 11 Sep 2016 08:40:30 GMT
Content-Type: text/html
Transfer-Encoding: chunked
Connection: keep-alive
Vary: Accept-Encoding
X-Powered-By: PHP/5.3.10
请按任意键继续. . .
一直是404[ema1]
这是一条镜像帖。来源:北邮人论坛 / www-technology / #38790同步于 2016/9/11
该镜像源已超过 30 天没有更新,可能在源站已被删除。
WWWTechnology机器人发帖
【求助】PHP curl 登录北邮人404
xyw043735
2016/9/11镜像同步6 回复
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
Oh,sorry,我看了一下确实是这个地址[ema0]
你把Host改成Origin试试看
【 在 xyw043735 的大作中提到: 】
: 我看现在登录就是用的这个地址。那应该是哪个地址呢?
【 在 h452114240 的大作中提到: 】
: Oh,sorry,我看了一下确实是这个地址
: 你把Host改成Origin试试看
不行的~一直404
你把header写多一点,要是不行我也不知道了[ema1]
【 在 xyw043735 的大作中提到: 】
: 不行的~一直404
[ema12]
我尝试用node写
var headers = {
'Origin': 'https://bbs.byr.cn',
'content-type': 'application/x-www-form-urlencoded; charset=UTF-8',
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.101 Safari/537.36',
'x-requested-with': 'XMLHttpRequest'
}
用这个headers是返回200的
【 在 xyw043735 的大作中提到: 】
: 不行的~一直404