我对 perl 一无所知,但是从一个大的 perl 脚本中,我设法获取了相关部分并发出了 HTTP 请求。因此,这个 perl 代码可以完美运行。
#!/usr/bin/perl -w
use strict;
use LWP::UserAgent;
use HTTP::Request::Common;
my $ua = new LWP::UserAgent;
my $request = "X-CTCH-PVer: 0000001\r\n";
my $method_url = "http://localhost:8088/ctasd/GetStatus";
my $response = $ua->request (POST $method_url,Content => $request);
my $data = $response->status_line . "\n";
print $data;
print $response->content;
上面的代码输出:
200 OK
X-CTCH-PVer: 0000001
据我了解,它正在对具有指定数据的 URL 进行 POST。有了这个基础,我的 python 代码看起来像:
#!/usr/bin/python
import urllib
url = "http://localhost:8088/ctasd/GetStatus"
data = urllib.urlencode([("X-CTCH-PVer", "0000001")])
print urllib.urlopen(url, data).read()
但是,这将返回响应为:
X-CTCH-Error: Missing protocol header "X-CTCH-PVer"
请帮助我制作与 perl 代码等效的 Python。