Gibt es eine Möglichkeit, Ergebnisse einer Amazon MWS-Anfrage im JSon- oder XML-Format anstelle einer einfachen Zeichenfolge zu erhalten?
Mein Code ist folgender:
%Vor%Wenn $ a angezeigt wird, sehe ich dies (eine einfache Zeichenfolge mit wenigen Möglichkeiten der Ausarbeitung):
%Vor%Aber wenn ich die $ Anfrage in meinem Browser kopiere, sehe ich eine XML Format Antwort.
Wie kann ich tun?
Die Antwortformatdokumentation schlägt vor, dass nur XML-Antworten zurückgegeben werden. Wenn ich Ihr OP jedoch richtig verstehe, sehen Sie Klartext-Antworten, wenn sie über curl- und XML-Antworten gesendet werden, wenn sie über Ihren Browser gesendet werden.
Wenn das stimmt, sendet Ihr Browser wahrscheinlich eine Kopfzeile - wahrscheinlich Accept
- das bewirkt, dass Amazon das Antwortformat ändert. Fügen Sie Ihrem cURL-Setup Folgendes hinzu:
Anstelle von application/xml
könntest du auch application/json
ausprobieren, aber wieder basierend auf der Dokumentation hoffe ich nicht, dass das funktioniert.
Wenn das Hinzufügen des Accept
-Headers nicht funktioniert, überprüfen Sie die Header der Browseranforderung und replizieren Sie alle, die in Ihrem cURL-Setup relevant erscheinen. Beachten Sie insbesondere, dass Amazon MWS dokumentiert, dass Sie einen Header User-Agent
senden sollten, aber es Würde mich überraschen, wenn das das zurückgegebene Format ändert.
Mit Blick auf Amazon MWS Dokumentation behaupten sie:
in response to a HTTP request, Amazon MWS returns an XML file that contains the results of the request. If a request is successful, the response is returned with the data requested.
( Quelle ).
Ich denke, in Ihrem Fall ist der Grund, warum Sie eine Zeichenfolge erhalten, die Art, wie Sie Ihre Anfrage über cURL senden. Sie könnten versuchen, Folgendes hinzuzufügen:
%Vor%zu Ihrer cURL-Anfrage und sehen, ob das das Problem behebt. Weitere Details finden Sie unter diese Antwort .
Tags und Links php curl amazon-mws