с использованием запросов Python2.7 («Соединение прервано», ошибка (110, «Время ожидания соединения истекло»))

Я работаю над небольшим проектом и пытаюсь отправить данные json с сенсорного узла на сервер, используя URL-адрес, который они мне дали. Он работал пару дней до сегодняшнего дня, он продолжает говорить («Соединение прервано», ошибка (110, «Время ожидания соединения истекло»)). У меня есть несколько узлов в одной сети, и все они не могут отправлять сообщения. Я попытался отправить данные на сервер, используя узел в другой сети и у другого провайдера, и это удалось.

Я использую pythonv2.7 и запрашиваю версию lib: 2.4.3.

вот код:

import time
import requests

headers = {'content-type': 'application/json'}
url = 'http://czwxxx.org/pxxx_API/v1/node1'
MAC = "v0 v0 v0 v0 v0 v0"
time = int(round(time.time()*1000))
data = {"MAC":MAC,"time":time,"x_raw":'0',"y_raw":'0',"z_raw":'0','status':'1'}
requests.post(url,data=data)

Вот трассировка

    sudo python test.py 
Traceback (most recent call last):
  File "test.py", line 11, in <module>
    requests.post(url,data=data)
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 94, in post
    return request('post', url, data=data, json=json, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/api.py", line 49, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 457, in request
    resp = self.send(prep, **send_kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/sessions.py", line 569, in send
    r = adapter.send(request, **kwargs)
  File "/usr/lib/python2.7/dist-packages/requests/adapters.py", line 407, in send
    raise ConnectionError(err, request=request)
requests.exceptions.ConnectionError: ('Connection aborted.', error(110, 'Connection timed out'))

Пробовал настроить iptables на прием всего трафика, но безрезультатно. ниже вывод

sudo iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination      

Проверка netstat -pn|grep :80 кажется, что вы застряли на SYN_SENT и не получили ответа?

sudo netstat -pn|grep :80
tcp        0      1 192.168.8.104:34856     166.62.28.86:80         SYN_SENT    13751/python 

Я не уверен, что проблема в моем Интернете, конфигурации узла или брандмауэре. Я новичок в этом. Любая помощь будет оценена.


person JesseB    schedule 03.02.2017    source источник


Ответы (1)


У меня была аналогичная проблема в Дженкинсе, и она определенно связана с python на сервере. Пожалуйста, убедитесь, что у вас есть совместимая версия Python и единственная версия Python, установленная на сервере, на котором вы используете это. Надеюсь, это поможет.

person anuj0901    schedule 04.05.2018