Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 17, 2019 12:05:26

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

 import urllib3
import requests
api_host = 'http://бла бла бла/upload.php'
headers = {'Content-Type' : 'image/jpeg'}
image_url = "C:\\snapshots\\snapshot.jpg"
img_file = http.request(image_url)
response = requests.post(api_host, data=img_file.read(), headers=headers, verify=False)

что-то я пошёл не туда…… как мне взять jpg локально?

Офлайн

#2 Дек. 17, 2019 14:03:13

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

из ip камеры в телегу

а бот то где у вас крутится? туда и отправлять надо фото (а вобще то есть почта, xmmp итд .. так то)
ps кста у телеги вроде свое прокси есть
pps такое впечетление складывается что вы слабо представляете что на самом деле вы хочете получить



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 17, 2019 14:19:32)

Офлайн

#3 Дек. 17, 2019 14:23:12

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

AD0DE412
pps такое впечетление складывается что вы слабо предстовляете что на самом деле вы хочете получить
я в этой теме вообще первый раз, и совсем ничего не понимаю…… вот и разбираюсь по не многу.
php c ссылкой бота лежит удаленно на сайте, собственно туда и отправить хочу, из локальной сети.
другими словами, я получил скрин с камеры, и теперь он ввиде локального файла на диске, теперь надо отправить его в форму php, что б там инициировать отправку в телегу…

Офлайн

#4 Дек. 17, 2019 14:31:17

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

из ip камеры в телегу

те у вас задача отправить файл по команде на сайт (как собераетесь передать ее компу) так
если у вас есть доступ к сайту то там есть ftp ?



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 17, 2019 14:34:07)

Офлайн

#5 Дек. 17, 2019 14:47:06

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

import ftplib 
host = "ftp://бла бла бла/telega/"
ftp_user = "user"
ftp_password = "pass"
filename = "http://192.168.2.77/action/snapshot/snapshot.jpg"
con = ftplib.FTP(host, ftp_user, ftp_password)
# Открываем файл для передачи в бинарном режиме
f = open(filename, "rb")
# Передаем файл на сервер
send = con.storbinary("STOR "+ filename, f)
# Закрываем FTP соединение
con.close

ошибки
Traceback (most recent call last):
File “C:\Users\yarmi\Desktop\send_photo.py”, line 6, in <module>
con = ftplib.FTP(host, ftp_user, ftp_password)
File “C:\Users\yarmi\AppData\Local\Programs\Python\Python38-32\lib\ftplib.py”, line 117, in __init__
self.connect(host)
File “C:\Users\yarmi\AppData\Local\Programs\Python\Python38-32\lib\ftplib.py”, line 152, in connect
self.sock = socket.create_connection((self.host, self.port), self.timeout,
File “C:\Users\yarmi\AppData\Local\Programs\Python\Python38-32\lib\socket.py”, line 787, in create_connection
for res in getaddrinfo(host, port, 0, SOCK_STREAM):
File “C:\Users\yarmi\AppData\Local\Programs\Python\Python38-32\lib\socket.py”, line 914, in getaddrinfo
for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: getaddrinfo failed

я так понимаю стыкануться не может

Офлайн

#6 Дек. 17, 2019 14:59:07

AD0DE412
Зарегистрирован: 2019-05-12
Сообщения: 1130
Репутация: +  44  -
Профиль   Отправить e-mail  

из ip камеры в телегу

так вроде у вас адресс указан неверно
https://docs.python.org/3.6/library/ftplib.html
host = “бла бла бла.ваш_домен”
ну или как у вас там



1. пжлст, форматируйте код, это в панели создания сообщений, выделите код и нажмите что то вроде
2. чтобы вставить изображение залейте его куда нибудь (например), нажмите и вставьте ссылку на его url

есчщо

Отредактировано AD0DE412 (Дек. 17, 2019 15:07:07)

Офлайн

#7 Дек. 17, 2019 15:36:25

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

 #!/usr/bin/python
import cv2
import os
from ftplib import FTP
stream_url = 'http://192.168.2.67/action/snapshot/'
absolute_script_dir = os.path.dirname(os.path.realpath(__file__))
save_dir = absolute_script_dir + '/snapshots/'
save_path = save_dir + '/snapshot.jpg'
cap = cv2.VideoCapture(stream_url)
ret, frame = cap.read()
cv2.imwrite(save_path, frame)
ftp = FTP('ftp.ru')
ftp.login('user', 'pass')
ftp.cwd('/telega/')
ftp.storbinary('STOR fileNameOnRemoteSystem', open(r'C:\\telega\\snapshot.jpg', 'rb'))
ftp.close()
файл скрина меняется, но на фтп не загружается, ошибок не выдает

Офлайн

#8 Дек. 17, 2019 15:58:43

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

Оказывается файл создавался с именем fileNameOnRemoteSystem

Офлайн

#9 Дек. 17, 2019 16:01:57

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

Как загрузить с заменой при совпадении имени по умолчанию?

Офлайн

#10 Дек. 17, 2019 16:20:11

shiyri
Зарегистрирован: 2019-07-09
Сообщения: 72
Репутация: +  0  -
Профиль   Отправить e-mail  

из ip камеры в телегу

  #!/usr/bin/python
import cv2
import os
from ftplib import FTP
stream_url = 'http://192.168.2.67/action/snapshot/'
absolute_script_dir = os.path.dirname(os.path.realpath(__file__))
save_dir = absolute_script_dir + '/snapshots/'
save_path = save_dir + '/snapshot.jpg'
cap = cv2.VideoCapture(stream_url)
ret, frame = cap.read()
cv2.imwrite(save_path, frame)
ftp = FTP('ftp.ru')
ftp.login('user', 'pass')
ftp.cwd('/telega/')
ftp.delete('snapshot.jpg')
ftp.storbinary('STOR snapshot.jpg', open(r'C:\\telega\\snapshot.jpg', 'rb'))
ftp.close()

Ошибок нет, и файл старый.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version