Męczę się od wczoraj z wysłaniem odpowiednio sformatowanego zapytania przy pomocy Pythona.
Obsługa XML-RPC to jakaś kpina, tak więc spróbowałem PyCURL oraz HTTLib, doszłem troszkę dalej ale jednak wciąż niewystarczająco daleko.
Do rzeczy, potrzebuję wysłać takie zapytanie:
Kod
POST /dupa HTTP/1.0
User-Agent: XML-RPC for PHP 3.0.0.beta
Host: webnull.kablownia.org:81
Accept-Charset: UTF-8,ISO-8859-1,US-ASCII
Content-Type: text/xml
Content-Length: 325
<?xml version="1.0"?>
<methodCall>
<methodName>LogIn</methodName>
<params><param>
<value><string></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string>OS Test User Agent</string></value>
</param></params>
</methodCall>
User-Agent: XML-RPC for PHP 3.0.0.beta
Host: webnull.kablownia.org:81
Accept-Charset: UTF-8,ISO-8859-1,US-ASCII
Content-Type: text/xml
Content-Length: 325
<?xml version="1.0"?>
<methodCall>
<methodName>LogIn</methodName>
<params><param>
<value><string></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string></string></value>
</param>
<param>
<value><string>OS Test User Agent</string></value>
</param></params>
</methodCall>
Najlepiej przy pomocy jakiejś biblioteki a nie na raw socketach (program ma działać bez uprawnień roota).
Gdzie tu jest mój problem?
Otóż za nic nie mogę wysłać zapytania sformatowanego w ten sposób, a konkretnie samego kodu XML.
Kod XML udało mi się wysłać metodą uploadu, ale serwer tego nie rozumie - potrzebuję wysłać tak jak jest na tym przykładowym schemacie.
Przykład który podałem jest wygenerowany przy pomocy PHP - zesniffowałem go Wiresharkiem wysyłając zapytanie z debuggera do komputera którego używam (sniffer na moim komputerze w celu przechwycenia poprawnego schematu).
Proszę o pomoc, jestem bardzo chętny do przyznania "Pomógł" za Twoją pomoc : -)
-- WebNuLL