Скорее всего, проблема со сценарием, который вы разместили в вопросе , заключается в том, что вы не можете напрямую это сделать:
conn=httplib.HTTPConnection("http://223.56.124.58:8080/wireless")
Исключение вызывается в getaddrinfo()
, который вызывает функцию C getaddrinfo()
, которая возвращает EAI_NONAME
:
Узел или служба не известны; или и узел, и служба имеют значение NULL; или AI_NUMERICSERV был указан в hints.ai_flags, и служба не была числовой строкой номера порта. "
Очевидно, что есть проблема с параметрами, переданными в getaddrinfo
, и, скорее всего, вы пытаетесь получить информацию для хоста "223.56.124.58:8080/wireless"
. По электронной почте Ой!
Действительно, вы не можете напрямую подключиться к URL-адресу. Поскольку в документации четко указано и показано , вы подключаетесь к серверу :
conn = httplib.HTTPConnection("223.56.124.58", 8080)
Тогда вы можете сделать:
conn.request("POST", "wireless", params, headers)
Как насчет сценария, которым вы на самом деле используете ?
conn.request("POST","http://202.45.139.58:8080/ppod-web",params,headers)
Даже если соединение было правильно сформировано, вы бы отправили сообщение http://202.45.139.58:8080/http://202.45.139.58:8080/ppod-web
. Что вы действительно хотите, вероятно, это:
conn = httplib.HTTPConnection("202.45.139.58", 8080)
conn.request("POST", "ppod-web", params, headers)
Ошибка показывается для этой строки, потому что, скорее всего, HTTPConnection
является ленивым объектом и пытается реально подключиться к серверу только при вызове request()
.
После того, как вы исправите все вышеперечисленное, вам нужно будет исправить 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'
Чтобы получить то, что вы думаете, что хотите получить, вы должны сделать:
>>> 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'