Pagina webcam credenziali

venerdì 27 novembre 2009 - 14.44

Nicola Profilo | Senior Member

ciao,
ho una webcam ip... dove mi chiede le credenziali di accesso via prompt..
vorrei creare una pagina aspx.. che gliele passi in autoamatico..
è possibile?
grazie nicola

Brainkiller Profilo | Guru

>ho una webcam ip... dove mi chiede le credenziali di accesso
>via prompt..
>vorrei creare una pagina aspx.. che gliele passi in autoamatico..
>è possibile?

Pagina web intendi ?
Bisognerebbe vedere che nome hanno i due fields e provare a passarli come GET nella url per esempio:
pagina.aspx?campo_username=mario&campo_password=rossi

Tu devi ricavare dal source HTML il campo_username e campo_password provare a sostituirli e vedere se funziona. Oppure vedere nel sistema interno della Cam se è possibile togliere il blocco user/pass e lasciare anonimo l'accesso.
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

è ANONIMO L'accesso ma mi esce sempre il prompt...
dando ok senza mettere nulla entro.. se tolgo
anonimo allora devo inserire user e pwd...

Brainkiller Profilo | Guru

>è ANONIMO L'accesso ma mi esce sempre il prompt...
>dando ok senza mettere nulla entro.. se tolgo
>anonimo allora devo inserire user e pwd...

Ok capito. Pensavo fosse l'autenticazione all'interno della pagina e non esternamente.
Beh se è così,m non credo si possa fare altro a meno appunto che ci sia una opzione all'interno per non far apparire più la dialog box che chiede user e pass. Se no putroppo devi tenerla.
Ma perchè hai questa necessità spiega meglio.

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

perchè la cam.. deve essere vista senza che esca il popu..( mi esce un msgbox di internet exlorer...che mi chiede user e pwd)
ma facendo destro del mouse... quando esce la finestra sulla pagina web del webserver integrato nella cam..
noto 2 funzioni.. incollo sotto, posso io creare una ASPX che gli passo user e pwd in pasto alla url diretta della cam (http://192.168.1.41/cgi-bin/guest/Video.cgi?media=JPEG) ??
grazie

function loadUserPwd()
{
httpObj = createHttpRequestObj();
requestData = "http://"+getURL()+"/cgi-bin/guest/UserInfo.cgi?action=query";
httpObj.onreadystatechange = updUserPwd;
requestCgiParam(httpObj, requestData);
}

function updUserPwd()
{
if (httpObj.readyState == 4 && httpObj.status == 200)
{
var objStr = new Object();
objStr.strSrc = httpObj.responseText;

if (GetCgiParam(objStr, "Username=") == 1)
top.dt.user.username = objStr.strGet;

if (GetCgiParam(objStr, "Password=") == 1)
top.dt.user.password = objStr.strGet;

loadLogin();
}
}

Brainkiller Profilo | Guru

>perchè la cam.. deve essere vista senza che esca il popu..( mi

Questo l'avevo intuito...
Ma perchè vuoi che venga vista senza popup ?
Inoltre la visualizzazione è in tempo reale (video) oppure statica ?

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

perchè è una webcam esterna di un hotel..
e andra messa sul sito hotel...
e quindi è pubblica...
video streaming

Brainkiller Profilo | Guru

>perchè è una webcam esterna di un hotel..
>e andra messa sul sito hotel...
>e quindi è pubblica...
>video streaming

Ok ti chiedo questo perchè con tutte le IP cam in circolazione c'è la possibilità di collegarle tranquillamente su siti esterni e linkare l'immagine prodotta esempio http://ipcam/lastscreenshot.jpg
Così come si fa con la screenshot statica si può fare anche con la modalità video streaming.
Variazioni sul tema possono esserci sulla base del modello di IP Cam che hai acquistato. In genere IP Cam economiche permettono poche cose al contrario di quelle più evolute e costose.
Io ti consiglio di leggere bene la documentazione o il sito di supporto. Magari fornisci anche modello e marca.
Ciao


David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

il problema non è il mio acquisto..
il problema è che non posso dare accesso..senza password..
e anche il software a bordo non permette l'upload schedulate di una unica jpg verso un server ftp...

volevo sapere se si poteva in qualche modo passargli user e pwd via url..
in base a quelle funzioni js che ho incollato.
ciao

Brainkiller Profilo | Guru

>il problema non è il mio acquisto..

Evidentemente sì.

>volevo sapere se si poteva in qualche modo passargli user e pwd
>via url..
>in base a quelle funzioni js che ho incollato.

Evidentemente il codice che hai postato non basta perchè sono contenute funzioni che vengono richiamate che non sono definite nel codice che hai postato quindi sono definite su .js esterni o altrove.
In ogni caso non avendo il device qui è difficile fare dei test o capire che tipo di autenticazione usa e/o che trucco usare per autenticarlo e bypassare. Dovresti provare con un Javascript debugger agganciandoti e vedendo che cosa fa il codice.

Cmq. se possibile ti avevo chiesto anche modello e marca di cam.
ciao


David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

questa..
http://www.avtech.com.hk/eng/AVI321.htm

http://www.tvcenlinea.com/01CPCAM/CPC504N/AVI321_311_Quick_Z_V0.81.pdf

grazie
ciao nicola

Brainkiller Profilo | Guru

>http://www.avtech.com.hk/eng/AVI321.htm
>http://www.tvcenlinea.com/01CPCAM/CPC504N/AVI321_311_Quick_Z_V0.81.pdf

Ciao Nicola,
ho visto la mail che mi hai mandato. Allora... ho visto che da qui:
http://<tuo_ip>/cgi-bin/guest/Video.cgi?media=JPEG
puoi recuperare l'immagine statica.
Ma anche in questo caso chiede sempre user e pass e ho visto che non pare ci sia modo di disabilitarlo.

A livello di codice però puoi recuperarla in questo modo:
http://geekswithblogs.net/dtotzke/articles/24571.aspx

Quindi con le istruzioni lì contenute una tua pagina web o un altro programma possono accedere alla webcam, autenticarsi in basic authentication recuperare l'immagine e scriverla da qualche parte sul web server e quindi renderla accessibile.

La cosa è un po' macchinosa ma dovrebbe funzionare.

Per quanto riguarda il video invece.... bel casino, in questo momento non saprei come fare.
Ora guardo il sito del produttore.

Edit: Neanche qui ho trovato niente.
Ho indagato ulteriormente. Allora, forse si riesce in qualche modo scopiazzando i Javascript e facendo la stessa cosa che fa lui ad entrare anche se aprendo col browser la finestrella della basic auth appare sempre... quindi qualche dubbio ce l'ho sempre. Non so se hai notato, secondo me è una grossa limitazione, cmq. la modalità video funziona solo su IE perchè usa degli ActiveX quindi nessun altro browser.

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

bella la storia di scaricarmi l'immagine sul server con un nome fisso es: image_cam.jpg
nel mio caso come verrebbe??

// build the URL String - dr is a DataReader
// ADO.NET code omitted for clarity
restURL.AppendFormat("http://myServer/rest/item?catalogNumber={0}&itemOwner={1}", dr["ItemNumber"], dr["ItemOwner"]);
restRequest = (HttpWebRequest) WebRequest.Create(restURL.ToString());
restResponse = (HttpWebResponse) restRequest.GetResponse();
xDoc.Load(restResponse.GetResponseStream());

??

e poi fare..
ogni volta che l'utente accede alla pagina web e poi magari attivare un update panel ogni 20 sec. che richiama
la funzione..

a me funziona anche con fireworks.. e tutti gli altri.. cmq..
non so se hai notato.. quando esce il pop-up di autentificazione se dai invio o cancel entri lo stesso (anonymous = enable)
è possibile intercettare che è uscito il pop-up e dargli ok lato mia pagina... tramite un js o altro??
in modo che chiudo al volo il popuop all'accesso e la cam si vede..

grazie
nicola

Brainkiller Profilo | Guru

>bella la storia di scaricarmi l'immagine sul server con un nome
>fisso es: image_cam.jpg
>nel mio caso come verrebbe??

Il codice che hai riportato è solo una parte. Nel link che ti ho dato nella parte in basso c'è la parte per la basic authentication che è quella richiesta dalla tua cam.

>ogni volta che l'utente accede alla pagina web e poi magari attivare
>un update panel ogni 20 sec. che richiama
>la funzione..

Si puoi farlo anche nel Page_Load della pagina e quindi richiamare dalla Cam proprio in quel momento l'immagine e scriverla su disco e girarla all'utente, poi magari fare un meccanismo di caching, del tipo se il file esiste ed è più vecchio di 1 minuto allora recupera l'immagine nuova se no restituisci quella.

>a me funziona anche con fireworks.. e tutti gli altri.. cmq..
>non so se hai notato.. quando esce il pop-up di autentificazione
>se dai invio o cancel entri lo stesso (anonymous = enable)
>è possibile intercettare che è uscito il pop-up e dargli ok lato
>mia pagina... tramite un js o altro??

Lo so, non è possibile perchè il dialog box è esterno alla pagina web e non gestibile da JS.
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/

Nicola Profilo | Senior Member

fatto!!! ;-))

grazie david

POSTO COME:

string username = sUser;
string password = sPwd;

try
{
WebRequest myReq = WebRequest.Create(url);

myReq.Credentials = new NetworkCredential(username, password);

WebResponse wr = myReq.GetResponse();
Stream receiveStream = wr.GetResponseStream();

string sPathWebcam;
sPathWebcam = Server.MapPath("cam/asson_webcam.jpg");

System.Drawing.Image img = System.Drawing.Image.FromStream(receiveStream);
img.Save(sPathWebcam);

Brainkiller Profilo | Guru

>fatto!!! ;-))
>grazie david

Ok perfetto, sei riuscito ?
Rispetto alla mail che mi hai inviato mancava proprio la parte finale cioè di prendere lo stream e scriverlo su disco per completare il ciclo. Per lo meno ora hai disponibile l'ultima immagine, e già questo è un passo avanti.
Ciao

David De Giacomi | <empty>
http://blogs.dotnethell.it/david/
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5