Perl LWP:提交查询 - 错误400 URL必须是绝对的

时间:2016-08-09 15:01:26

标签: perl lwp lwp-useragent

我需要创建一个访问网站的脚本,提交查询,点击其中一个点击,然后发回结果的网址。我坚持的是首先提交查询。这就是我所拥有的:

use strict;
use warnings;
use LWP::UserAgent;
my $entry = $ARGV[0] or die;
my $url = 'http://genome.ucsc.edu/cgi-bin/hgBlat?hgsid=502819467_w6Oj12MTSqOIIJuSjAKsza4x9yeA&command=start';
my $browser = LWP::UserAgent->new;
my $response = $browser->post(
  '$url',
  [
    'sequence'  => $entry,
    'search' => 'submit'
  ],
);
die "Error: ", $response->status_line
 unless $response->is_success;

我一直收到此错误:错误:400网址必须是LWPtest.pl第14行的绝对值。有人可以解释这意味着什么,以及我应该如何解决这个问题?另外我如何处理其中一个点击的“'点击”,然后发回结果的网址“bit?

编辑:

我在相关网站上发现了这个:

  

包含基因组浏览器URL时,请删除hgsid参数。它是一个内部使用的参数,在大约一天后过期。

不确定这是否是问题的一部分;在“大约一天”之后它可能会成为一个问题。

2 个答案:

答案 0 :(得分:1)

$ url on line~10 in single quotes,这意味着它是字符序列$ u r l而不是变量$ url的值。

'$url',

$url,

答案 1 :(得分:1)

代码

'$url'

生成4个字符的字符串

$url

而不是

http://genome.ucsc.edu/cgi-bin/hgBlat?hgsid=502819467_w6Oj12MTSqOIIJuSjAKsza4x9yeA&command=start

简单地替换

'$url'

$url