Найти - Пользователи
Полная версия: из ip камеры в телегу
Начало » Python для новичков » из ip камеры в телегу
1 2 3 4 5
shiyri
 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 локально?
AD0DE412
а бот то где у вас крутится? туда и отправлять надо фото (а вобще то есть почта, xmmp итд .. так то)
ps кста у телеги вроде свое прокси есть
pps такое впечетление складывается что вы слабо представляете что на самом деле вы хочете получить
shiyri
AD0DE412
pps такое впечетление складывается что вы слабо предстовляете что на самом деле вы хочете получить
я в этой теме вообще первый раз, и совсем ничего не понимаю…… вот и разбираюсь по не многу.
php c ссылкой бота лежит удаленно на сайте, собственно туда и отправить хочу, из локальной сети.
другими словами, я получил скрин с камеры, и теперь он ввиде локального файла на диске, теперь надо отправить его в форму php, что б там инициировать отправку в телегу…
AD0DE412
те у вас задача отправить файл по команде на сайт (как собераетесь передать ее компу) так
если у вас есть доступ к сайту то там есть ftp ?
shiyri
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

я так понимаю стыкануться не может
AD0DE412
так вроде у вас адресс указан неверно
https://docs.python.org/3.6/library/ftplib.html
host = “бла бла бла.ваш_домен”
ну или как у вас там
shiyri
 #!/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()
файл скрина меняется, но на фтп не загружается, ошибок не выдает
shiyri
Оказывается файл создавался с именем fileNameOnRemoteSystem
shiyri
Как загрузить с заменой при совпадении имени по умолчанию?
shiyri
  #!/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()

Ошибок нет, и файл старый.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB