【发布时间】:2016-02-19 20:57:25
【问题描述】:
我正在尝试将文件上传到public API,其代码类似于:
my $ua = LWP::UserAgent->new;
sub uploadbox {
my $url = "http://host/token";
my $response = $ua->put($url,
'Content_Type' => 'form-data',
'Content' => [
Filedata => [ "$codename.box", "$codename.box", Content_type => 'application/octet-stream' ]
]
);
}
uploadbox();
这段代码运行,没有上传任何东西就退出(上传的文件有300MB大,所以需要时间)。
我是否将正确的参数传递给 put 子例程? 如何进一步调试呢?
【问题讨论】:
-
该代码不会做任何事情,因为从未调用过
uploadbox。它所做的就是编译LWP::UserAgent及其依赖模块,创建一个对象,然后退出 -
我正在调用uploadbox();下一行,刚刚更新了代码
-
也许看看
$response看看错误是什么? -
首先让它不静音...打印客户端错误!
die $response->status_line if !$response->is_success; -
谢谢,这导致 HTTP 状态码为 400,但我找不到原因
标签: perl lwp lwp-useragent