Python-Anfragen post-Abfrage schlägt fehl: Cookies?

8

Ich versuche, post auszuführen, aber ich bekomme server error 500 :

%Vor%

Ich denke, ich muss Cookies oder etwas anderes setzen.

Vielen Dank im Voraus für jede Hilfe.

    
agstudy 04.11.2016, 10:40
quelle

2 Antworten

5

Die meisten API-Zugriffspunkte auf dieser Site scheinen beschädigt zu sein. Es ist nichts falsch mit Ihrem Code per se. Ich kann die Website nicht dazu bringen, auf Anfragen in ihrem eigenen Webinterface zu reagieren, selbst wenn sie einen normalen Browser benutzen.

Die wichtigsten API-Dokumentation Details (in Französisch), dass Sie auch die SOAP-Protokoll zum Erstellen von Abfragen; Python hat mehrere SOAP-Client-Bibliotheken , aus denen Sie auswählen können.

Allerdings hatte ich kein Glück, das zu funktionieren entweder . Mit der ausgezeichneten zeep -Bibliothek habe ich versucht, auf das einfachere GetMainCarMakeListByFirstDrivingDate Endpunkt (Beachten Sie, dass ich ein datetime() -Objekt verwenden musste, um den Zeitstempel zu modellieren):

%Vor%

a Fault ist hier das SOAP-Äquivalent von 500 Fehlern.

Wenn ich Debug-Protokollierung aktivieren , können wir sehen, dass der Server Probleme hat eine Antwort erzeugen:

%Vor%

Dort ist die Fehlermeldung versteckt:

  

Le serveur'n pas pu traiter la demande. --- & gt; Erreur lors de la génération des Dokuments XML. --- & gt; Le type common.FormDataListItem n'étail pas attendu. Verwenden Sie das Attribut XmlInclude ou SoapInclude gießen Sie die Typen und die Connus Statik.

oder, mit einer Google Übersetzer-Hilfe, auf Englisch:

  

Der Server konnte die Anfrage nicht verarbeiten. --- & gt; Fehler beim Generieren des XML-Dokuments. --- & gt; Der Typ common.FormDataListItem wurde nicht erwartet. Verwenden Sie das XmlInclude- oder SoapInclude-Attribut, um Typen anzugeben, die nicht statisch bekannt sind.

Da wir keine common.FormDataListItem -Typen senden, und die Nachricht beschwert, dass kein XML-Dokument generiert werden konnte , sieht dies wie ein serverseitiger Programmierfehler aus ich.

Es gibt Methoden, die funktionieren, entweder über SOAP:

%Vor%

oder über application/x-www-form-urlencoded data mit requests :

%Vor%

Sie müssen wahrscheinlich Kontakt mit den Betreuern dieser API aufnehmen, um das aussortieren zu lassen. Dies ist nichts, was Sie auf der Python-Seite erreichen können.

    
Martijn Pieters 07.11.2016, 15:55
quelle
1

Das Problem ist das Datumsformat, das in der Site schlecht gehandhabt wird.

Dieser Fehler 500 trägt diese Beschreibung:

%Vor%

Probieren Sie es in Ihrem Browser auf ihrer Seite für ein benutzerfreundlicheres Debug aus: Ссылка

Hinweis: "attribut XmlInclude ou SoapInclude für zusätzliche Lesetypen, die nicht mit Connus statiquement"

verknüpft sind

Ich habe also versucht, ein Datum in einem anderen Format einzugeben.

Als Beispiel:

%Vor%

oder 19 Jan 2001

Sie erhalten 200 OK Anfrage - in diesem Fall ein leeres Ergebnis.

Leider sieht es nach einem gewissen Jahr so ​​aus, dass Format auch nicht akzeptiert wird: 22.09.2001 ergibt 200 OK aber 22.09.2015 nicht mehr - es geht bis 2008-12-31.

Versuchen Sie es mit einem anderen Datetime-Format ... Aber es sieht so aus, als wäre da irgendetwas ... nehmen Sie eine andere Seite:)

    
user305883 13.11.2016 23:53
quelle