if
语句向我显示有回复,但当我尝试print
回复时,我什么都没得到
use LWP::UserAgent;
use strict;
use warnings;
use HTTP::Request::Common;
# use this {"process": "mobileGps","phone": "9565551236"}
my $url = "the url goes here";
my $json = '{data :{"process" : "mobileGps", "phone" : "9565551236"}}';
my $req = HTTP::Request->new( POST => $url );
$req->header( 'Content-Type' => 'application/json' );
$req->content( $json );
my $ua = LWP::UserAgent->new;
my $res = $ua->request( $req );
if ( $res->is_success ) {
print "It worked";
print $res->decoded_content;
}
else {
print $res->code;
}
我有网址:我只是为了这个例子而把它拿出来。
我错过了什么?
答案 0 :(得分:1)
尝试调试您的脚本:
use strict;
use warnings;
use HTTP::Request::Common;
use LWP::ConsoleLogger::Easy qw( debug_ua );
use LWP::UserAgent;
# use this {"process": "mobileGps","phone": "9565551236"}
my $url = "the url goes here";
my $json = '{data :{"process" : "mobileGps", "phone" : "9565551236"}}';
my $req = HTTP::Request->new(POST => $url);
$req->header('Content-Type' =>'application/json');
$req->content($json);
my $ua = LWP::UserAgent->new;
debug_ua( $ua );
my $res = $ua->request($req);
if ($res->is_success) {
print "It worked";
print $res->decoded_content;
} else {
print $res->code;
}
那将(希望)让你更好地了解正在发生的事情。
答案 1 :(得分:1)
您是否可以使用调试器,或添加一些打印语句来查看程序的进展情况?
如果没有那么这将是另一个在线逐行调试的案例,除了OP之外没有人受益,最终的诊断是他们应该首先学习语言
互联网可以是明智的,但它会比工匠更多工匠Pretender
请不要期望对草图进行半心半意的尝试,然后在世界其他地方绞尽脑汁来完成你的工作。即使"What's your name" .. "Hello"
程序正常工作也需要巨大的大量经验,才能和理解力,之后事情变得更加艰难
如果你不喜欢小心谨慎,宁愿让人为你做你的东西而不是通过实验发现解决方案,那么你就是经理,而不是程序员。我希望你永远不会试图通过授权来提升软件生涯,因为这不适用于软件
下面。像这样使用它。世界上到处都是管理者;它是我们需要的优秀程序员
use strict;
use warnings 'all';
use feature 'say';
use constant URL => 'http://example.com/';
use LWP;
my $ua = LWP::UserAgent->new;
my $json = '{}';
my $req = HTTP::Request->new( POST => URL );
$req->header( content_type => 'application/json' );
$req->content( $json );
my $res = $ua->request( $req );
say $res->as_string;
答案 2 :(得分:-1)
代码很好。问题必须是在状态码200上提供请求的服务器。您应该在服务器端检查。