加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 如何使用LWP进行JSON POST请求?

发布时间:2020-12-15 21:21:41 所属栏目:大数据 来源:网络整理
导读:如果您尝试在 https://orbit.theplanet.com/Login.aspx?url=/Default.aspx登录(使用任何用户名/密码组合),您可以看到登录凭据作为非传统的POST数据集发送:只是一个寂寞的JSON字符串,没有正常的key = value对。 具体来说,而不是: username=foopassword=b
如果您尝试在 https://orbit.theplanet.com/Login.aspx?url=/Default.aspx登录(使用任何用户名/密码组合),您可以看到登录凭据作为非传统的POST数据集发送:只是一个寂寞的JSON字符串,没有正常的key = value对。

具体来说,而不是:

username=foo&password=bar

或者甚至像:

json={"username":"foo","password":"bar"}

只有:

{"username":"foo","password":"bar"}

是否可以用LWP或替代模块执行这样的请求?我准备用IO :: Socket这样做,但是如果可以的话更喜欢更高级的东西。

解决方法

您需要手动构造HTTP请求并将其传递给LWP。像下面这样做的事情
my $uri = 'https://orbit.theplanet.com/Login.aspx?url=/Default.aspx';
my $json = '{"username":"foo","password":"bar"}';
my $req = HTTP::Request->new( 'POST',$uri );
$req->header( 'Content-Type' => 'application/json' );
$req->content( $json );

然后可以使用LWP执行请求:

my $lwp = LWP::UserAgent->new;
$lwp->request( $req );

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读