Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Acacio

[Resolvido] Abrir arquivo remoto com a função fopen()

Recommended Posts

Boas pessoal,

 

gente, tem como abrir um arquivo em uma url atraves da função fopen()?

 

Ex.:

 

char *url = "http://www.algumsite.com.br/pasta/arquivo.txt";

 

FILE *fp;

fp = fopen(url, "r");

 

 

Estou usando o DEV-C++.

 

Abraços a todos http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não. Se existe um servidor respondendo as requisições p/ obter arquivos você precisa usar socket.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas à um ano eu estava estudando sobre socket's em c++ e em um artigo que achei vi que era possível usar a função fopen() para abrir arquivos remoto em uma URL, até cheguei a salvar o artigo no meu computador, o problema é que tive que formatar meu pc e não me lembro desse código.

 

Alguém mais pode dar um HELP?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acácio,

 

Infelizmente não podemos ajudar mais,

Como ja disseram, se existe um servidor respondendo as requisições, é preciso usar sockets.

E mesmo no socket, você não vai pedir o arquivo "aaaa.txt", você tem que formular uma requisição HTTP (pois nesse caso o servidor é um server HTTP) e então vai mandar (pelo socket):

"GET /pasta/arquivo.txt HTTP/1.1

Host: www.seusite.com

 

"

 

Talvez, o artigo que você viu era pra C#. Em C/C++ as coisas devem ser feitas na mão mesmo, a não ser que você use alguma biblioteca pronta, como a boost, por exemplo.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Acácio,

 

Infelizmente não podemos ajudar mais,

Como ja disseram, se existe um servidor respondendo as requisições, é preciso usar sockets.

E mesmo no socket, você não vai pedir o arquivo "aaaa.txt", você tem que formular uma requisição HTTP (pois nesse caso o servidor é um server HTTP) e então vai mandar (pelo socket):

"GET /pasta/arquivo.txt HTTP/1.1

Host: www.seusite.com

 

"

 

Talvez, o artigo que você viu era pra C#. Em C/C++ as coisas devem ser feitas na mão mesmo, a não ser que você use alguma biblioteca pronta, como a boost, por exemplo.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

VictorCacciari,

Tenho certeza que era em C/C++, e sobre os sockets eu já sabia também. Manipulo bastante com requisições em servidores via socket's HTTP, o que eu realmente queria era saber se seria possível mesmo abrir arquivos remotos com fopen(). Também estranhei quando vi o código na internet, por isso salvei no meu computador mas não compilei para ver o real funcionamento.

Agradeço a ajuda de todos e especialmente à VictorCacciari por ter dado uma resposta definitiva. http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

 

Abraços! :rolleyes:

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existe um programinha bem legal chamado CUrl. Ele funciona mais ou menos como o wget do linux. Faz GET, POST, download, upload, tudo por linha de comando.

 

E no site desse programa existe uma biblioteca em C pra usar as funções dele em outro programa.

Você poderia então usar a função dele que faz download de uma url, passar tudo pra uma variável e então tratar ela do jeito que quiser.

 

O site é esse:

http://curl.haxx.se/libcurl/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.