当获取URL重定向时,File_get_contents()不起作用 [英] File_get_contents() not working when the get url redirects
本文介绍了当获取URL重定向时,File_get_contents()不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在使用的功能是:
function http_post ($url, $data)
{
$data_url = http_build_query ($data);
$data_len = strlen ($data_url);
date_default_timezone_set('America/New_York');
return array ('content'=>file_get_contents ($url, false
, stream_context_create (array ('http'=>array (
'method'=>'GET',
'header'=>"Connection: close\r\nContent-Length: $data_len\r\nContent-type: application/x-www-form-urlencoded\r\n",
'content'=>$data_url
)))),
'headers'=>$http_response_header
);
}
电话是:
http_post('http://www.wunderground.com/cgi-bin/findweather/getForecast/', array('airportorwmo'=>'query','historytype'=>'DailyHistory','backurl'=>"/history/index.html",'code'=>"$myCode",'month'=>"$myMonth",'day'=>"$myDay",'year'=>"$myYear"));
原始表单位于下一页上,但我在通话中使用了表单的操作页面:
The original form is located on the following page, but I'm using the form's action page in the call:
wunderground.com/history/
最终,我想从重定向页面获取内容,例如:
Ultimately I want to get contents from the redirected page, which is for example:
http://www.wunderground.com/history/airport/CWTA/2013/1/24/DailyHistory.html?req_city=McTavish&req_state=QC&req_statename=Quebec&MR=1
但是,如上所述,表单采用了不同的元素,即代码,月,日,年.
However as above, the form takes different elements, i.e. code, month, day, year.
推荐答案
function http_post ($url, $data)
{
$data_url = http_build_query ($data);
$data_len = strlen ($data_url);
date_default_timezone_set('America/New_York');
$curl = curl_init($url);
curl_setopt_array(array(
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FOLLOWLOCATION => true,
));
$content = curl_exec();
curl_close($curl);
return array (
'content' => $content,
'headers' => $http_response_header,
);
}
此外,您的函数名为post
,但您正在执行GET
请求
Also, your function is named post
but you are doing GET
request
这篇关于当获取URL重定向时,File_get_contents()不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文