Perl获取/发布从.jsp链接下载xls / csv的请求

时间:2016-03-22 15:10:19

标签: perl jsp http-post

我正在尝试从以下网站下载csv / xls文件。 http://global.krx.co.kr/contents/GLB/05/0503/0503030500/GLB0503030500.jsp

这是一个jsp链接。我需要下拉列表中的所有数据,我不知道如何使用perl自动执行此操作。

似乎该流程已分为get请求和post请求。我能够从get请求得到一个很好的回应。

my $indexURL = 'http://global.krx.co.kr/contents/COM/GenerateOTP.jspx?name=fileDown&filetype=xls&url=GLB/05/0503/0503030500/glb0503030500&market_gubun=ALL&indx_ind_cd=5042&pagePath=%2Fcontents%2FGLB%2F05%2F0503%2F0503030500%2FGLB0503030500.jsp';

my $index_headers = HTTP::Headers->new(
    'Host'              => 'global.krx.co.kr',
    'Connection'        => 'keep-alive',
    'Accept'            => '*/*',
    'X-Requested-With'  => 'XMLHttpRequest',
    'User-Agent'        => 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36',
    'Referer'           => 'http://global.krx.co.kr/contents/GLB/05/0503/0503030500/GLB0503030500.jsp',
    'Accept-Encoding'   => 'gzip, deflate, sdch',
    'Accept-Language'   => 'en-US,en;q=0.8',
    'Cookie'            => '.....'
    );
    $ua->default_headers($index_headers);

my $index_request = GET $indexURL;
my $index_response = $ua->request($index_request);

if ($index_response->is_success) {
    return $index_response->as_string;
}
else {
    die $index_response->status_line;
}

回复如下:

code=LNZvLrs55%2F83HQ8QYeu8y57963Dw36TDrS%2FLsbKj%2FV5RBPett1Paohnq12eaNhjdXfwUcHoZkDay2EdBJJ2wyq5X1cbvqWre3xwoF4I0W7x1oz1ApsgOslM4Jezg0T2xEL1A2VtfeysNo8Bcgl3W1VeSeaPJUM2xK%2FlKL1byrefEijmL5Im%2BTK86sb3zMT3jzTVPH2kCaWat4%2BPSzWdd%2BHneGEaVklHWE%2BCEA4nrhhm7n1nfZOxGtRY%2FOHxS2zxhnVcLKM7vrW6JyokFhgt3TTJve3Bpp3UPRrnFNMxDhSw%3D

我认为这是针对帖子请求但我无法下载文件。不确定我的方式是否正确。接受任何可行的建议!

任何人都可以提供帮助吗? 感谢。

0 个答案:

没有答案