Сделать мыльный клиент python с помощью suds

Я создаю этот скрипт в perl:

#!"c:\strawberry\perl\bin\perl.exe"

use strict;

use LWP::UserAgent;
use HTTP::Request;

my $message = '<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <AddUser xmlns="http://tempuri.org/">
      <HostUserName>hcadmin</HostUserName>
      <HostPassword>XXXXXXXXX</HostPassword>
      <OwnerName>hcadmin</OwnerName>
      <PlanName>Unlimited Plan - Windows</PlanName>
      <NewUserName>froyland</NewUserName>
      <NewUserPassword>XXXXXXX</NewUserPassword>
      <EmailAddress>[email protected]</EmailAddress>
      <ResellerType>Dedicated</ResellerType>
      </AddUser>
  </soap:Body>
</soap:Envelope>';
my $userAgent = LWP::UserAgent->new();
my $request = HTTP::Request->new(POST => 'http://painel.a.nrserver.net:8080/UserManager.asmx');
$request->header(SOAPAction => '"http://tempuri.org/AddUser"');
$request->content($message);
$request->content_type("text/xml; charset=utf-8");
my $response = $userAgent->request($request);

if($response->code == 200) {
    print $response->as_string, '\n';
}
else {
    print $response->error_as_HTML;
}

Теперь я собираюсь сделать то же самое на питоне, я посмотрел некоторые компоненты и нашел пены, но не смог написать что-то настолько простое, как перл, у меня еще не было большого опыта работы с питоном, вы можете мне помочь?


person jacyzin    schedule 10.07.2014    source источник
comment
Вы пробовали что-нибудь с Python и suds? Покажите нам код!   -  person    schedule 10.07.2014
comment
Вы знаете, это может быть одна строка кода. Возможно, вам следует прочитать документы перед обращением к SO. Возможно.   -  person Stefano Sanfilippo    schedule 10.07.2014


Ответы (1)


Я создал примеры скриптов с помощью suds, pysimplesoap, но они не работали так, как хотелось бы, поэтому я сделал что-то с помощью urllib2, и это отлично заработало. У меня проблемы, потому что URL-адрес моего API http://xxxxxx.com:8080/action.asmx и httplib не работает.

В любом случае спасибо за ответ.

person jacyzin    schedule 11.07.2014