Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 12-05-2006, 21:08   #1
Label84
Junior Member
 
Iscritto dal: May 2006
Messaggi: 21
[C/C++]Aiuto progetto!!!!

Ciao a tutti!!!
Sono nuova, ed ho subito una domanda da farvi....
Devo scrivere un programma che prende in ingresso una lista di URL e avvisa quando uno di questi viene aggiornato...
la mia domanda è: esiste una funzione che prende in ingresso un url e riesce a leggerne l'header?? Io non sono proprio riuscita a trovare nulla!!!
grazie a tutti coloro che mi aiuteranno!!!
Label84 è offline   Rispondi citando il messaggio o parte di esso
Old 12-05-2006, 21:19   #2
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
penso che ti basti farti mandare l'html dal webserver, tenere in memoria l'ultima copia e poi confrontare la copia attuale con la precedente
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 09:38   #3
Label84
Junior Member
 
Iscritto dal: May 2006
Messaggi: 21
Grazie wisher!!!
ti dico cosa avevo in mente di fare....
io pensavo di farmi mandare l'header dell'URL, e confrontare la data data di ultima modifica con quella corrente,,,,
(è questo che intendevi tu??)
il mio problema è che non so come "farmi mandare l'header"... sarà un problema stupido....ma non ci salto fuori e purtroppo non ho nemmeno molto tempo....
grazie a tutti...e buona giornata!!!!
Label84 è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 09:48   #4
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
per ottenere un file da un webserver (cui ti devi essere connesa) devi mandare con una send una stringa composta da
"GET "+nome_file_da_scaricare+" HTTP/1.0\r\n\r\n"
poi mettiti in recv e ottieni l'html...
se riesci a leggere l'header tanto meglio, altrimenti io ti consigliavo con una soluzione poco elegante di salvare direttamente il file e poi controllare che ogni singolo char del file nuovo sia uguale al char corrispondente del file vecchio
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 10:22   #5
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
ti faccio un esempio in python, spero si capisca, come linguaggio è molto semplice
Codice:
import socket
HOST = "www.google.com"
PORT = 80
connessione = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
connessione.connect((HOST, PORT))
connessione.send("GET / HTTP/1.0 \n\n")
data = connessione.recv(1024)
msg=data
while data!="":
    data = connessione.recv(1024)
    msg = msg+data
print msg
connessione.close()
in questo modo ottengo
Codice:
HTTP/1.0 302 Found

Location: http://www.google.it/

Cache-Control: private

Set-Cookie: PREF=ID=00f576cd71567ba6:TM=1147511954:LM=1147511954:S=V5I9Bqd-VpBqDT70; expires=Sun, 17-Jan-2038 19:14:07 GMT; path=/; domain=.google.com

Content-Type: text/html

Server: GWS/2.1

Content-Length: 218

Date: Sat, 13 May 2006 09:19:14 GMT

Connection: Keep-Alive



<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>302 Moved</TITLE></HEAD><BODY>
<H1>302 Moved</H1>
The document has moved
<A HREF="http://www.google.it/">here</A>.

</BODY></HTML>
l'unica cosa che resta da fare è separere l'header del messaggio dal codice html vero e proprio
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 10:41   #6
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
più precisamente la parte dell'header del trasferimento e i dati a noi utili sono separati dalla sequenza
Codice:
"\r\n\r\n"
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 13-05-2006, 19:54   #7
Label84
Junior Member
 
Iscritto dal: May 2006
Messaggi: 21
Grazie mille!!!! Ora provo a buttare giù qualcosa da sola....nel caso ti richiamo!!!! ...buona serata!
Label84 è offline   Rispondi citando il messaggio o parte di esso
Old 18-05-2006, 21:37   #8
Label84
Junior Member
 
Iscritto dal: May 2006
Messaggi: 21
Scusa wisher, ma sono ancora qui....e ancora + in crisi!!!
A parte il fatto che le socket in c sono un pò + incasinate che nel tuo esempio, in realtà ho un problema di base:
I metodi HTTP!!!
Ho notato che con il metodo "GET / HTTP/1.0 \n\n"
spesso nell'header che ottengo, non è presente il campo "last-m2odified" (come nel tuo esempio)..così il mio algoritmo è andato a farsi benedire!!!
Da quello che ho studiato c sarebbe il meto GET condizionato:
"GET / HTTP/1.0 \n\n
If-Modified-SInce: data"

che dovrebberitornare un codice 304 senza body,nel caso il documento non è stato modificato dalla data che gli ho mandato, ed una risposta normale(come una get semplice) nel caso ci siano state modifiche.....
il problema è che ho provato con un pò di siti (con putty) e a volte mi risponde con un codice 304, a volte con un codice 302 che nn so cosa significa, a volte mi da" 200, ok" senza body, a volte "200 con body" e altre volte ancora mi dice che il documento è stato aggiornato anche se ci metto una data "futura"!!!!
insomma nn so come interpretare le risposte....e di conseguenza nn so + come impostare il programma!!!

qualcuno riesce ad aiutarmi???
sono sull'orlo di una crisi di nervi!!!
grazie in anticipo!!
Label84 è offline   Rispondi citando il messaggio o parte di esso
Old 19-05-2006, 10:29   #9
Label84
Junior Member
 
Iscritto dal: May 2006
Messaggi: 21
Nessuno ha qualche suggerimento???? please!!!!
sono bloccata!!

Label84 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
iPhone 18 Pro: il componente che garanti...
DeepL alza il livello: con Voice-to-Voic...
Apple sta utilizzando sempre più ...
Il MacBook Neo vende tanto? Microsoft le...
AST SpaceMobile BlueBird 7: Blue Origin ...
È il momento migliore per comprar...
Svendita MacBook Pro: c'è il mode...
Oggi questa TV TCL QLED da 43 pollici co...
Il caricatore multiplo da 200W che va be...
Top 7 Amazon, il meglio del meglio di qu...
Spento lo strumento LECP della sonda spa...
Voyager Technologies ha siglato un accor...
GoPro annuncia la linea MISSION 1 con tr...
Alcune varianti dei futuri Samsung Galax...
Il ridimensionamento di OnePlus in Europ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 03:20.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v