Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-01-2009, 13:39   #1
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
[c] programma download http

questo codice prima richiede una pagina dal mio sito, poi prova a scaricare un filmato di megavideo... altervista mi risponde perfettamente, mentre megavideo non si fa sentire dopo che mando il mio GET lui non risponde, sta muto ... sto impazzendo...

grazie mille per l'aiuto

Codice:
#include <stdio.h> 
#include <winsock.h> 
#include <stdlib.h>
#include <string.h>
bool scarica(char *fileremoto,char *filelocale,char *host,char modalita);

int main(int argc, char *argv[]){

    scarica("/forum2/","a.txt","www.mamo139.altervista.org",'1');
    scarica("/files/4ce85b10a5de4f47ea02d653021d0b42/","a.txt","www785.megavideo.com",'1');

    getchar();

}	
	
bool scarica(char *fileremoto,char *filelocale,char *host,char modalita){
	FILE *fo; 
	struct sockaddr_in sock; 		//la struttura per il socket
	struct hostent ip; 		        //la struttura per l'indirizzo 
	bool header = true;
	bool invio = false;
	char ultimo_carattere = '\0';

	char msg_response[] = "\0";
	char modo[4];
	int s;
		
    //messaggio per il server...
    char msg_enter[600] = "GET ";
	char protocollo[] = " HTTP/1.1\n"; 
	char protocollo2[] = "Host: "; 
	char protocollo3[] = "\n"; 
	
	char dettagli1[] = "Keep-Alive: 300\n";  
	char dettagli2[] = "Connection: keep-alive";  
	
   	strcat(msg_enter,fileremoto); 
   	strcat(msg_enter,protocollo); 
    strcat(msg_enter,protocollo2); 
   	strcat(msg_enter,host); 
    strcat(msg_enter,protocollo3); 
   	
   	//strcat(msg_enter,dettagli1); //header
	//strcat(msg_enter,dettagli2);

   	strcat(msg_enter,"\n\n"); 

	strcpy(modo,(modalita == '1' ? "w+b" : "w"));
    fo=fopen(filelocale,modo); //creazione file

    //********* connessione *********//
   	WORD wVersion; 
	WSADATA wsaData;
	wVersion = MAKEWORD(2, 2);
	WSAStartup(wVersion, &wsaData); //winsock startup
	s = socket(AF_INET, SOCK_STREAM, 0);
	
	ip = *(gethostbyname(host)); //indirizzo
	memcpy(&sock.sin_addr, ip.h_addr, ip.h_length); //copia l'indirizzo nella struttura socket
	sock.sin_family = AF_INET; 
	sock.sin_port = htons(80); //porta

	
	connect(s, (struct sockaddr *)&sock, sizeof(sock)); //associa al socket s la struttura socket
	if (!s) {
 		printf("Connessione non riuscita!!");
 		getchar();
 		return false;
 	}	
        
    printf("Inviato al server:\n\n%s\n", msg_enter); 
	send(s, msg_enter, strlen(msg_enter) + 1, 0); //invia dati
	printf("Download in corso...\n\n");
        
    while(recv(s, msg_response, 1, 0) != 0) { 
 
    	// se sono finiti gli header stampa nel file
        if (!header) fprintf(fo,"%c",msg_response[0]);  
        else printf("%c",msg_response[0]);
        
        // se l'ultimo carattere è uguale a \r, quello attuale è uguale a \n
   		// e prima c'era già stato un invio (invio==true), mette header=false
        if (ultimo_carattere == 13 && msg_response[0] == 10 && invio==true) header=false;
    	// ulteriore controllo sugli header
        ((ultimo_carattere == 13 && msg_response[0] == 10) || (ultimo_carattere==10 && invio))?invio=true:invio=false;  
        // memorizza l'ultimo carattere                                                                                       	
        ultimo_carattere = msg_response[0];

        //fprintf(fo,"%c",msg_response[0]); 
    }
    
	printf("File Ricevuto\n");
	
	//operazioni di chiusura!
	shutdown(s, 2);
	closesocket(s);
	WSACleanup();
	fclose(fo);
	return true;
}
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 14:02   #2
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Probabilmente necessita anche di altri header.
Guarda con WireShark la richiesta che viene inviata dal browser e cerca di duplicarla.
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 14:16   #3
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da cionci Guarda i messaggi
Probabilmente necessita anche di altri header.
Guarda con WireShark la richiesta che viene inviata dal browser e cerca di duplicarla.
ho provato ad inviarlo con tutti gli header che invia firefox e niente...
ho provato ad inviare con firefox solo l'header che invio io, cioè Host e funziona!!!
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 17:50   #4
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da cionci Guarda i messaggi
Probabilmente necessita anche di altri header.
Guarda con WireShark la richiesta che viene inviata dal browser e cerca di duplicarla.
grazie al tuo programma ho visto che il mio programma mandava un byte 00 finale in piu rispetto al browser...
ho modificato questa riga da
send(s, msg_enter, strlen(msg_enter) + 1, 0);
a
send(s, msg_enter, strlen(msg_enter), 0);

e ora funziona...

per così poco non andava

grazie
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 18:29   #5
fero86
Senior Member
 
Iscritto dal: Oct 2006
Città: Roma
Messaggi: 1383
anziché lavorare coi sockets non facevi prima ad usare Windows Internet o WinHTTP?
fero86 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 19:06   #6
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da fero86 Guarda i messaggi
anziché lavorare coi sockets non facevi prima ad usare Windows Internet o WinHTTP?
non ne ero a conoscenza
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 19:57   #7
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da fero86 Guarda i messaggi
anziché lavorare coi sockets non facevi prima ad usare Windows Internet o WinHTTP?

gia che ci sono lo chiedo: esiste un api che mi permette di prendere una pagina tramite un proxy (ovviamente l'indirizzo del proxy glielo passo io come parametro)??
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 20:40   #8
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quote:
Originariamente inviato da mamo139 Guarda i messaggi
gia che ci sono lo chiedo: esiste un api che mi permette di prendere una pagina tramite un proxy (ovviamente l'indirizzo del proxy glielo passo io come parametro)??
In C non so quale libreria fornisca questa funzionalità (di sicuro ci sarà e qualcuno te la segnalerà), usando Java invece è molto semplice. L'utilizzo del C è un vincolo per te?
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 08-01-2009, 23:29   #9
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da wisher Guarda i messaggi
In C non so quale libreria fornisca questa funzionalità (di sicuro ci sarà e qualcuno te la segnalerà), usando Java invece è molto semplice. L'utilizzo del C è un vincolo per te?
eh si... java non lo conosco

però ho guardato i pacchetti in transito quando imposto un proxy nel browser e non sembra molto complicato... adesso ci provo e vi dico come va.
grazie comunque
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 09:21   #10
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
Potrebbe essere una buona occasione per studiare un nuovo linguaggio "moderno".
Come C#, Java o Python.

p.es. In C# tutto quello che hai scritto si riduce a 2 righe di codice.
E con il proxy 3.

Codice:
class Program
{
    static void Main(string[] args)
    {
        WebClient wc = new WebClient();
        //wc.Proxy = new WebProxy(....);
        wc.DownloadFile(@"http://www.hwupgrade.it/forum/showthread.php?p=25760450#post25760450", @"c:/QuestoThread.txt");            
    }
}
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 09:33   #11
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Potrebbe essere una buona occasione per studiare un nuovo linguaggio "moderno".
Come C#, Java o Python.

p.es. In C# tutto quello che hai scritto si riduce a 2 righe di codice.
E con il proxy 3.

Codice:
class Program
{
    static void Main(string[] args)
    {
        WebClient wc = new WebClient();
        //wc.Proxy = new WebProxy(....);
        wc.DownloadFile(@"http://www.hwupgrade.it/forum/showthread.php?p=25760450#post25760450", @"c:/QuestoThread.txt");            
    }
}
mhhh... tutto troppo bello e facile...
non è che ha qualche dipendenza particolare?? tipo librerie??
ad asempio il tuo programma funziona su un windows xp he sp1 basebase con nulla installato o ci vuole qualche pacchetto .NET o robe varie installate??
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 09:48   #12
gugoXX
Senior Member
 
L'Avatar di gugoXX
 
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
ovviamente ci vuole il .NET framework installato.
Ma solo quello.

Questo per qualsiasi programma fatto in C# o VB.net (o C++.net), anche solo Hello World.
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto.
E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test.
gugoXX è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 09:49   #13
wisher
Senior Member
 
L'Avatar di wisher
 
Iscritto dal: Aug 2005
Messaggi: 2755
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Potrebbe essere una buona occasione per studiare un nuovo linguaggio "moderno".
Come C#, Java o Python.

p.es. In C# tutto quello che hai scritto si riduce a 2 righe di codice.
E con il proxy 3.

Codice:
class Program
{
    static void Main(string[] args)
    {
        WebClient wc = new WebClient();
        //wc.Proxy = new WebProxy(....);
        wc.DownloadFile(@"http://www.hwupgrade.it/forum/showthread.php?p=25760450#post25760450", @"c:/QuestoThread.txt");            
    }
}
Anche in Java si fa in modo simile. Per questo lo consigliavo.
Quote:
Originariamente inviato da mamo139 Guarda i messaggi
mhhh... tutto troppo bello e facile...
non è che ha qualche dipendenza particolare?? tipo librerie??
ad asempio il tuo programma funziona su un windows xp he sp1 basebase con nulla installato o ci vuole qualche pacchetto .NET o robe varie installate??
Per poterlo eseguire devi avere installato il framework .Net
__________________
wisher è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 09:53   #14
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
ovviamente ci vuole il .NET framework installato.
Ma solo quello.

Questo per qualsiasi programma fatto in C# o VB.net (o C++.net), anche solo Hello World.
capito, grazie per le info
finche riesco a cavarmela con 20 minuti di smanettamenti continuo così... appena incontro uno scoglio insormontabile proverò a cambiare linguaggio...
però non facendo per lavoro ma solo per hobby alla fine mi diverto quasi a complicarmi la vita
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 10:01   #15
banryu79
Senior Member
 
L'Avatar di banryu79
 
Iscritto dal: Oct 2007
Città: Padova
Messaggi: 4131
Quote:
Originariamente inviato da mamo139 Guarda i messaggi
però non facendo per lavoro ma solo per hobby alla fine mi diverto quasi a complicarmi la vita
Ah, ecco, mi sembrava
Allora buona goduria
__________________

As long as you are basically literate in programming, you should be able to express any logical relationship you understand.
If you don’t understand a logical relationship, you can use the attempt to program it as a means to learn about it.
(Chris Crawford)
banryu79 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 11:14   #16
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Quote:
Originariamente inviato da mamo139 Guarda i messaggi
mhhh... tutto troppo bello e facile...
non è che ha qualche dipendenza particolare?? tipo librerie??
ad asempio il tuo programma funziona su un windows xp he sp1 basebase con nulla installato o ci vuole qualche pacchetto .NET o robe varie installate??
Anche in C con libcurl è molto semplice: http://curl.haxx.se/lxr/source/docs/examples/simple.c
cionci è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 11:51   #17
mamo139
Senior Member
 
L'Avatar di mamo139
 
Iscritto dal: Sep 2006
Città: Bologna/Milano
Messaggi: 525
dai sempre per rimanere a lavorare con le socket grezze vi chiedo questo:

quando provo a connettermi con:
connect(s, (struct sockaddr *)&sock, sizeof(sock));

come posso impostare un timeout, in modo che se il server non mi risponde il mio programma non sta piantato delle ore ad aspettare??
__________________
http://mamo139.altervista.org
mamo139 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 17:06   #18
~FullSyst3m~
Senior Member
 
L'Avatar di ~FullSyst3m~
 
Iscritto dal: Mar 2007
Messaggi: 4683
Quote:
Originariamente inviato da gugoXX Guarda i messaggi
Potrebbe essere una buona occasione per studiare un nuovo linguaggio "moderno".
Come C#, Java o Python.

p.es. In C# tutto quello che hai scritto si riduce a 2 righe di codice.
E con il proxy 3.

Codice:
class Program
{
    static void Main(string[] args)
    {
        WebClient wc = new WebClient();
        //wc.Proxy = new WebProxy(....);
        wc.DownloadFile(@"http://www.hwupgrade.it/forum/showthread.php?p=25760450#post25760450", @"c:/QuestoThread.txt");            
    }
}
Python:

Codice:
import urllib
urllib.urlretrieve("http://www.hwupgrade.it/forum/showthread.php?p=25760450#post25760450", "C:\QuestoThread.txt")
__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito.
~FullSyst3m~ è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 17:43   #19
DanieleC88
Senior Member
 
L'Avatar di DanieleC88
 
Iscritto dal: Jun 2002
Città: Dublin
Messaggi: 5989
Abbiamo un nuovo cdimauro tra di noi...
__________________

C'ho certi cazzi Mafa' che manco tu che sei pratica li hai visti mai!
DanieleC88 è offline   Rispondi citando il messaggio o parte di esso
Old 09-01-2009, 18:13   #20
~FullSyst3m~
Senior Member
 
L'Avatar di ~FullSyst3m~
 
Iscritto dal: Mar 2007
Messaggi: 4683
Quote:
Originariamente inviato da DanieleC88 Guarda i messaggi
Abbiamo un nuovo cdimauro tra di noi...

__________________
Firma eliminata e avatar cambiato. Troppa gente giudica il monaco dall'abito.
~FullSyst3m~ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
Blue Origin continua l'espansione: nuove...
Intel prepara un SoC da 700 TOPS: Razor ...
I nuovi Xreal 1 Pro+ arrivano in Europa ...
La GeForce RTX 5090 non è morta: ...
HONOR Win2 si mostra online: potenza da ...
Clamoroso dietrofront di Sony: cancellat...
GeForce NOW, tante novità con l'u...
Il mercato smartphone rallenta nel Q3 20...
Addio al Valve Index: fine della produzi...
Seggiolini auto i-Size da 0 a 12 anni in...
Amazon determina i prezzi di tutto il we...
Robot aspirapolvere ECOVACS in offerta s...
Bodywel F20PRO o DEEPOWER A5? Due fat bi...
Gli agenti AI non diventano pazzi, sono ...
Kenwood Chef XL 6,7L a 239€ su Amazon: u...
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: 20:10.


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