Jump to content

Ler ficheiro de servidor web


Volans
 Share

Recommended Posts

Olá,

Eu queria saber se era possível ler um ficheiro de um servidor web e se sim gostava que me explicassem como o fazer.

Eu tentei o seguinte exemplo, mas não deu:

#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
 FILE *file;

 file = fopen("http://tuganoid.tk/fChat.txt", "r");

 if(file == NULL)
  printf("ERRO");
 else
  printf("LEU");

 getchar();
 return 0;
}

Antes de mais o meu muito obrigado.

Cumprimentos

Link to comment
Share on other sites

Se queres fazer tudo a mao le o Beej's Guide to Network Programming.

Se preferes um conjunto reduzido de funcoes ja feitas que facilitam esse trabalho, precisas de usar uma biblioteca extra: sugiro-te a biblioteca libcurl.

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

essa biblioteca [libcurl] permite editar e ler o ficheiro diretamente do servidor ou tenho que fazer o download abrir e depois enviar novamente, talvez?

Acho que o protocolo HTTP nao te permite fazer edicao directa num ficheiro do servidor.

Penso que o protocolo FTP te permite fazer isso (com o servidor configurado para tal).

A biblioteca libcurl permite ler e escrever sobre o protocolo FTP, mas nunca estudei a biblioteca suficientemente a fundo para saber se podes usa-la para fazer edicao directa de ficheiros.

Edited by pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Link to comment
Share on other sites

Olá, obrigado pela resposta. Exclarece-me apenas uma dúvida, essa biblioteca permite editar e ler o ficheiro diretamente do servidor ou tenho que fazer o download abrir e depois enviar novamente, talvez?

este tipo de pergunta é originado pelo trabalho intensivo de mitos engenheiros que escondem todo o processo de net das pessoas.

por muito que as pessoas queiram, os ficheiros são sempre descarregados para o computador (nem que fiquem em memória) e no final enviados para o servidor (normalmente por ftp por ser um protocolo muito simples de transferência de ficheiros). um servidor web não implementa nenhum protocolo de sistema de ficheiros de acesso remoto (quer dizer, pelo menos no sentido de fazer mount) !!

o http quase de certeza que não dá para fazer o upload de ficheiros no modelo que pretendes (actualização de ficheiros no servidor)

IRC : sim, é algo que ainda existe >> #p@p
Link to comment
Share on other sites

Eu sei que os ficheiros são sempre descarregados para o computador, mas esse é um processo que não é visivel ao utilizador comum. O que eu pretendia era mesmo atualizar um ficheiro sem ter que o descarregar, guardar, editar e voltar a enviar. Queria que servisse como se fosse uma base de dados...

Link to comment
Share on other sites

Boas, o programa filezilla já faz algo semelhante, ao aceder a conta ftp, o mesmo permite clicar sobre ficheiros e fazer view/edit no mesmo. contudo o processo pergunta sempre se deseja fazer o upload de volta para o servidor. O processo é transparente o suficiente para aquele que percebe o que se passa e "reservado" o suficiente para aquele que nada pesca do assunto.

Para aqueles que não pescam, o filezila mantém um "rasto/track" do ficheiro a ser editado, criando uma copia local na pasta tmp, onde é feita a edição.

Este também usa as variáveis ambiente do sistema para permitir abertura de ficheiros com a aplicação definida por defeito.

Outra forma de atingir resultados semelhantes é o uso do protocolo webdav com um explorador de ficheiros que suporte o mesmo,

este protocolo permite a "virtualização" da "drive" online no ambiente local, tratando de todos os outros requisitos, tais como fazer download do ficheiro e o upload pós edição, parecendo que é apenas uma pasta local.

Um pormenor :

Eu sei que os ficheiros são sempre descarregados para o computador, mas esse é um processo que não é visível ao utilizador comum. O que eu pretendia era mesmo actualizar um ficheiro sem ter que o descarregar, guardar, editar e voltar a enviar.

^^ isto não faz sentido Aqui vai, se dizeres que queres "esconder o processo aos utilizadores comuns eu entendo" contudo, tu és o implementador, esse "teu" pedido não faz sentido. O processo vai ter que ocorrer na tua implementação.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.