Ich versuche, eine HTTP-Put mit urllib2 tun.Python Fehler zu PUT mit urllib2
Der Server Admin sagte ich brauche die Daten in folgendem Format zur Verfügung zu stellen: { "type": "store", "data": [ "9953"]}
Mein Code ist wie folgt:
url = 'https://url.com/polling/v1/5cb401c5-bded-40f8-84bb-6566cdeb3dbb/stores'
request = urllib2.Request(url, data='{\"type\":\"store\",\"data\":[\"9953\"]}')
request.add_header("Authorization", "Basic %s" % creds)
request.add_header("Content-type", "application/json")
request.add_header("Accept", "application/json")
print "Data: %s" % request.get_data()
print "Accept: %s" % request.get_header("Accept")
print "Content-Type: %s" % request.get_header("Content-type")
print "Authorization: %s" % request.get_header("Authorization")
try:
result = urllib2.urlopen(request, data)
except urllib2.HTTPError as e:
print e.read()
exit()
data = json.loads(result.read())
print data
Mein Ausgang, wenn ich laufe dies:
Data: {"type":"store","data":["9953"]}
Accept: application/json
Content-Type: application/json
Authorization: Basic U1lTQ1RMOmFiYzEyMw==
welche genau das, was ich
senden wurde gesagt,Aber ich bin immer folgende Fehlermeldung:
BWEB000065: HTTP Status 400 - org.codehaus.jackson.JsonParseException: Unexpected end-of-input: expected close marker for ARRAY (from [Source: org.jboss.resteasy.co[email protected]695dd38d; line: 2, column: 15])
Jede Hilfe würde geschätzt.
Warum fliehen Sie doppelte Anführungszeichen (") innerhalb von einfachen Anführungszeichen (') (L2?) – Mark
Die App-Administrator sagte mir zu "stellen Sie sicher, dass Sie ordnungsgemäß Ihre doppelten Anführungszeichen entkommen." Das Entfernen der Escapezeichen führt zu den gleichen Ergebnissen. – user1864311