Höchstwahrscheinlich ist die Ausgabe mit dem Skript, das Sie in der Frage gepostet ist, können Sie nicht direkt zu tun:
conn=httplib.HTTPConnection("http://223.56.124.58:8080/wireless")
Die Ausnahme in getaddrinfo()
ausgelöst, die die C-Funktion getaddrinfo()
ruft die EAI_NONAME
zurückgibt:
The node or service is not known; or both node and service are NULL; or AI_NUMERICSERV was specified in hints.ai_flags and service was not a numeric port-number string."
Offensichtlich gibt es ein Problem mit den Parametern, die an getaddrinfo
übergeben werden, und höchstwahrscheinlich versuchen Sie, informat zu erhalten Ion für den "223.56.124.58:8080/wireless"
Host. Hoppla!
In der Tat können Sie nicht direkt eine Verbindung zu einer URL-Adresse herstellen. As the documentation clearly states and shows, verbinden Sie mit dem Server:
conn = httplib.HTTPConnection("223.56.124.58", 8080)
Dann können Sie tun:
conn.request("POST", "wireless", params, headers)
Was das Skript Sie sind eigentlich mit?
conn.request("POST","http://202.45.139.58:8080/ppod-web",params,headers)
Auch wenn die Verbindung korrekt gebildet wurde, das würde Sie http://202.45.139.58:8080/http://202.45.139.58:8080/ppod-web
haben Posting. Was Sie wirklich wollen wahrscheinlich ist:
conn = httplib.HTTPConnection("202.45.139.58", 8080)
conn.request("POST", "ppod-web", params, headers)
Der Fehler für diese Linie gezeigt ist, weil die meisten wahrscheinlich HTTPConnection
ein fauler Objekt ist und versucht, nur tatsächlich mit dem Server zu verbinden, wenn Sie request()
nennen.
Nachdem Sie die oben fertig sind Fixierung, müssen Sie params
beheben.
>>> urllib.urlencode({"wifi":{"ssid":"guest","rssi","80"}})
SyntaxError: invalid syntax
>>> urllib.urlencode({"wifi":{"ssid":"guest","rssi":"80"}})
'wifi=%7B%27rssi%27%3A+%2780%27%2C+%27ssid%27%3A+%27guest%27%7D'
zu bekommen, was Sie bekommen Sie wollen denken, sollten Sie tun:
>>> urllib.urlencode({"data": {"wifi":{"ssid":"guest","rssi":"80"}}})
'data=%7B%27wifi%27%3A+%7B%27rssi%27%3A+%2780%27%2C+%27ssid%27%3A+%27guest%27%7D%7D'
Wenn Sie eine neue Frage haben, verwenden Sie bitte die Schaltfläche "Neue Frage". :) Ursprünglicher Fragenlink: http://stackoverflow.com/revisions/f7804379-ffed-4ccb-bf96-b60865617396/view-source – badp
abgeordnet. Rolled die Bearbeitung zurück. –
Ich brauche etwas Hilfe bei der Antwortgenerierung für machen meine Antwort nur einmal während der Lebensdauer der Klasse laden –