Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI
Con velocità teoriche fino a 11 Gbps, gestione tramite app intelligente e protezione avanzata dei dispositivi, Roamii BE Pro porta il Wi‑Fi 7 tri‑band nelle abitazioni più esigenti. Un sistema Wi-Fi Mesh proposto da MSI allo scopo di garantire agli utenti una rete fluida e continua capace di sostenere streaming 8K, gaming competitivo e le applicazioni moderne più esigenti in termini di banda
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi
Mate X7 rinnova la sfida nel segmento dei pieghevoli premium puntando su un design ancora più sottile e resistente, unito al ritorno dei processori proprietari della serie Kirin. L'assenza dei servizi Google e del 5G pesa ancora sull'esperienza utente, ma il comparto fotografico e la qualità costruttiva cercano di compensare queste mancanze strutturali con soluzioni ingegneristiche di altissimo livello
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 08-01-2009, 14: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, 15: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, 15: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, 18: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, 19: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, 20: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, 20: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, 21: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 09-01-2009, 00: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, 10: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, 10: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, 10: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, 10: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, 10: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, 11: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, 12: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, 12: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, 18: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, 18: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, 19: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


Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Ford: l'elettrico genera una perdita di ...
Ayaneo Next 2: la console portatile Wind...
Il WiFi può vederti senza telecam...
Linux sotto assedio: SSHStalker riporta ...
Stellantis: dopo il crollo di venerd&igr...
Combat Liquid 360 HUD: raffreddamento AI...
Tornano le EVO Sessions della Formula E:...
Moltbook, il social network per AI: i po...
Cina: eseguito il test della navicella M...
Mistral, il rivale europeo di OpenAI, in...
Libri piratati, allarme rosso: 722 milio...
Ayaneo svela quasi tutte le specifiche d...
Sony chiude definitivamente con i regist...
Renault Twingo E-Tech Electric sotto i 2...
Auto elettriche, il freddo non fa pi&ugr...
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:44.


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