Très probablement, la question avec le script que vous avez publié dans la question est que vous ne pouvez pas faire directement:
conn=httplib.HTTPConnection("http://223.56.124.58:8080/wireless")
L'exception est déclenchée dans getaddrinfo()
, qui appelle la fonction C getaddrinfo()
qui retourne EAI_NONAME
:
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."
Il y a évidemment un problème avec les paramètres passés à getaddrinfo
, et très probablement vous essayez d'obtenir informat ion pour l'hôte "223.56.124.58:8080/wireless"
. Oups!
En effet, vous ne pouvez pas vous connecter directement à une adresse URL. As the documentation clearly states and shows, connectez-vous au serveur :
conn = httplib.HTTPConnection("223.56.124.58", 8080)
Ensuite, vous pouvez faire:
conn.request("POST", "wireless", params, headers)
Qu'en est-le script que vous êtes en fait en utilisant?
conn.request("POST","http://202.45.139.58:8080/ppod-web",params,headers)
Même si la connexion a été correctement formé, qui vous aurait Affectations à http://202.45.139.58:8080/http://202.45.139.58:8080/ppod-web
. Qu'est-ce que vous voulez vraiment est probablement:
conn = httplib.HTTPConnection("202.45.139.58", 8080)
conn.request("POST", "ppod-web", params, headers)
L'erreur est affichée pour cette ligne parce que très probablement HTTPConnection
est un objet paresseux et tente seulement de se connecter réellement au serveur lorsque vous appelez request()
.
Une fois que vous avez terminé la fixation ci-dessus, vous devez corriger params
.
>>> 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'
obtenir ce que vous pensez que vous voulez obtenir, vous devez faire:
>>> 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'
Si vous avez une nouvelle question, merci d'utiliser le bouton 'Nouvelle question'. :) Lien de question original: http://stackoverflow.com/revisions/f7804379-ffed-4ccb-bf96-b60865617396/view-source – badp
Appuyé. Retourné l'édition. –
J'ai besoin d'aide sur la génération de réponse pour faire ma réponse seulement une fois pendant la durée de vie de la charge de classe –