我不知道perl的一個單一的東西,但從一個大的perl腳本,我設法得到相關的部分,併發出一個HTTP請求。所以,這個Perl代碼完美地工作。編寫Python代碼相當於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
從我的理解,它是做一個POST到與指定數據的URL。與此基礎上,我的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"
請幫我在做一個Python等同的Perl代碼。
這給404找不到。具有此API的程序真的很糟糕,因爲它提供了錯誤信息,所以這個頭文件錯誤可能是騙人的。 –