如何從此鏈接使用URI :: URL perl模塊獲取參數'code'的值: http://www.someaddress.com/index.html?test=value&code=INT_12345 可以使用URI :: URL或URI(我知道第一個是過時的)。提前致謝。Perl解析url以獲得值使用
4
A
回答
8
創建一個URI
對象並使用query_form
方法獲取查詢的鍵/值對。如果你知道這些代碼參數只能指定一次,你可以做這樣的:
my $uri = URI->new("http://www.someaddress.com/index.html?test=value&code=INT_12345");
my %query = $uri->query_form;
print $query{code};
或者您可以使用URI :: QueryParam偉馳加SOEM aditional的方法,URI對象:
my $uri = URI->new("http://www.someaddress.com/index.html?test=value&code=INT_12345");
print $uri->query_param("code");
4
use URI;
my $uri = URI->new("http://someaddr.com/index.html?test=FIRST&test=SECOND&code=INT_12345");
my %query = $uri->query_form;
use Data::Dumper;
print Dumper \%query;
我們可以看到:
$VAR1 = {
'test' => 'SECOND',
'code' => 'INT_12345'
};
不幸的是,這個結果是錯誤的。
有可能的解決方案:
use URI::Escape;
sub parse_query {
my ($query, $params) = @_;
$params ||= {};
foreach $var (split(/&/, $query)){
my ($k, $v) = split(/=/, $var);
$k = uri_unescape $k;
$v = uri_unescape $v;
if(exists $params->{$k}) {
if('ARRAY' eq ref $params->{$k}) {
push @{ $params->{$k} }, $v;
} else {
$params->{$k} = [ $params->{$k}, $v ];
}
} else {
$params->{$k} = $v;
}
}
return $params;
}
相關問題
- 1. JSON解析,以獲得值
- 2. R解析HTML以獲得值
- 3. 解析URL以#
- 4. 使用perl的XML解析
- 5. 使用perl解析段落
- 6. 使用Perl解析SpreadsheetML
- 7. 解析HTML使用Perl
- 8. 使用perl的mailog解析
- 9. Rails:JSON解析URL供以後使用
- 10. perl的解析JSON值
- 11. 使用perl REST ::應用解析URL查詢字符串
- 12. 使用java解析HTML以獲取圖像(背景:url)
- 13. 獲得在解析
- 14. 用Perl解析XML
- 15. 用PERL解析JSON
- 16. 用perl解析json
- 17. Perl模塊來解析乾淨的URL
- 18. 解析xml字符串以獲得
- 19. 解析輸入來獲得特定值
- 20. 字符串解析mechansim獲得價值
- 21. Groovy中解析XML,並獲得價值
- 22. 解析JSON試圖獲得價值
- 23. Milti維XML解析:解析XML後獲得使用PHP
- 24. Hpricot/nokogiri - 解析SVG/XML文件以獲得使用的顏色
- 25. 如何使用ruby解析XML以獲得重複的標記?
- 26. 使用Java解析xml(獲得可選的childnode值)
- 27. 我如何使用json解析來獲得價值?
- 28. XML解析,從使用PHP的鏈接獲得'rel'值DOMDocument
- 29. 使用PHP解析URL
- 30. 使用GSON解析URL