2008-10-20 5 views

Antwort

10

ich vermute, dass da diese Frage der SUDS Bibliothek aktualisiert wurde beantwortet wurde der erforderlichen Authentifizierung kümmern sich nach durch verschiedene Reifen springen, fand ich dies machen Der Trick:


from suds import WebFault 
from suds.client import * 
from suds.transport.https import WindowsHttpAuthenticated 


user = r'SERVER\user' 
password = "yourpassword" 
url = "http://sharepointserver/_vti_bin/SiteData.asmx?WSDL" 


ntlm = WindowsHttpAuthenticated(username = user, password = password) 
client = Client(url, transport=ntlm) 

+0

Leider scheint suds mit python3 nicht gut zu spielen, und suds-jerko kann in sie eingebunden werden, benötigt aber die python-ntlm-Bibliothek, die unter Windows nicht installiert wird. – Basic

3

SharePoint stellt mehrere Webdienste bereit, mit denen Sie Daten abfragen und aktualisieren können.

Ich bin nicht sicher, welche Web-Service-Toolkits es für Python gibt, aber sie sollten in der Lage sein, Proxies für diese Dienste ohne Probleme zu erstellen.

Dieser Artikel sollte Ihnen genügend Informationen geben, um loszulegen.

http://www.developer.com/tech/article.php/3104621

+0

Leider Python spielt nicht gut mit NTLM-Authentifizierung (! und noch weniger mit Kerberos), so dass die SOAP-Teil ist einfach, aber die Auth ist problematisch – Basic

4

SOAP mit Python ist ziemlich einfach. Here's a tutorial von Tauchen in Python.

+1

Dies ist jetzt sehr veraltet und die SOAPpy Die verwendete Bibliothek ist veraltet – Basic

9

die WSDL-Datei zu erhalten:

import sys 

# we use suds -> https://fedorahosted.org/suds 
from suds import WebFault 
from suds.client import * 
import urllib2 

# my 2 url conf 
# url_sharepoint,url_NTLM_authproxy 
import myconfig as my 

# build url 
wsdl = '_vti_bin/SiteData.asmx?WSDL' 
url = '/'.join([my.url_sharepoint,wsdl]) 


# we need a NTLM_auth_Proxy -> http://ntlmaps.sourceforge.net/ 
# follow instruction and get proxy running 
proxy_handler = urllib2.ProxyHandler({'http': my.url_NTLM_authproxy }) 
opener = urllib2.build_opener(proxy_handler) 

client = SoapClient(url, {'opener' : opener}) 

print client.wsdl 

main (arithmetisches Mittel) Problem: der Sharepoint-Server verwendet eine NTLM-Authentifizierungs [:-(] so hatte ich die NTLM-Auth-Proxy

verwenden

um Rob und Enzondio:. Vielen Dank für Ihre Hinweise

Verwandte Themen