Acacio 0 Denunciar post Postado Junho 26, 2009 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
Edultra 13 Denunciar post Postado Junho 26, 2009 Cara só vi isso com php... com C tambem tem jeito mas não sei se por url... Compartilhar este post Link para o post Compartilhar em outros sites
_Isis_ 202 Denunciar post Postado Junho 26, 2009 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
Acacio 0 Denunciar post Postado Junho 28, 2009 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
VictorCacciari 42 Denunciar post Postado Junho 28, 2009 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
Acacio 0 Denunciar post Postado Junho 29, 2009 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
Mnemønic 0 Denunciar post Postado Julho 2, 2009 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