Archief - [PROG]C# Hoe date vanaf een website lezen

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

Gothrek

Legacy Member
Hallo,

Ik heb een simpele vraag, ik verwacht geen kant en klare oplossing,maar ik ben nogal een noob op programmeer vlak.
Ik zou dus de hele paginabron van een website als text bestand moeten kunnen opslaan.
Wat zou ik hier voor het beste kunnen gebruiken???
Iemand had me sockets aan geraden,is dat hiermee te doen?
Alvast bedankt

Ice

Legacy Member
of gebruik de browser control, open een url en save zo de content.

Kemblin

Legacy Member
yups met sockets is dit relatief eenvoudig te doen volgens mij

[AiR] LeViaTHaN

Legacy Member
Code:
			string line = null;
			// Maak nieuwe webrequest van de url
			WebRequest webReq = WebRequest.Create(url);
			// Welk is de response van de site
			WebResponse webResp = webReq.GetResponse();
			// Lees de response van de site (broncode)
			StreamReader reader = new StreamReader(webResp.GetResponseStream());
			// Zolang we niet op het einde zijn van de broncode
			while ((line = reader.ReadLine()) != null)
			{
                                                   // Doe iets met de gelezen lijn
				ProcessLine(line);
			}
			// Sluit de streamreader
			reader.Close();

Simpel met .NET :)

Gothrek

Legacy Member
jep, mag zeker gebruik maken van .net,zelfs den 2.0
kga leviathan's code is proberen
alvast bedankt e mensen :)

Obliv`

Legacy Member
DE manier om dit soort zaken te doen is mbv de WebRequest en WebResponse klassen.

Gothrek

Legacy Member
is gelukt met die webrequest,maar ik zit nu met een ander probleemje, ik snap eigenlijk mijn error niet, alles lijkt mij correct

Code:
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Project
{
    public class WebRequestVb
    {
        public static void Main()
        {
            HtmlData("http://www.tones.be/shop_producten.php?cat=110");
        }

        public static void HtmlData(string url)
        {
            if (url == "http://www.tones.be/shop_producten.php?cat=110")
                string a = "cat110.txt";
              
            TextWriter tw = new StreamWriter(a);
          
            // Create a request for the URL. 
            WebRequest request = WebRequest.Create(url);

            // If required by the server, set the credentials.
            request.Credentials = CredentialCache.DefaultCredentials;
            // Get the response.
            WebResponse response = request.GetResponse();
            // Display the status.
            tw.WriteLine(((HttpWebResponse)response).StatusDescription);
            // Get the stream containing content returned by the server.
            Stream dataStream = response.GetResponseStream();
            // Open the stream using a StreamReader for easy access.
            StreamReader reader = new StreamReader(dataStream);
            // Read the content.
            string responseFromServer = reader.ReadToEnd();
            // Display the content.
            tw.WriteLine(responseFromServer);
            // Clean up the streams and the response.
            reader.Close();
            response.Close();
            tw.Close();
        }
    }
}

hij geeft een error bij de de lijn

Code:
 string a = "cat110.txt";

Embedded statement cannot be a declaration or labeled statement

weet iemand hier raad mee?


edit// probleem opgelost,zo iets stoms,sorry :p

Yngwie

Legacy Member
Zijn hier ook C++ of java api's voor?

want ik ben van zin een gnome-applet te schrijven dat de status van mijn telemeter ophaalt. ongeveer hetzelfde als het windows progje op www.telemeter.be

Ik zou hiervoor dus een api nodig hebben die een webpagina kan ophalen maar ook een webform (login) kan invullen en versturen.

xytro

Legacy Member
Probeer deze eens (wel niet getest, moet vs dringend eens op deze pc installeren ).

Code:
using System;
using System.IO;
using System.Net;
using System.Text;

namespace Project
{
    public class WebRequestVb
    {
        public static void Main()
        {
            HtmlData("http://www.tones.be/shop_producten.php?cat=110");
        }

        public static void HtmlData(string url)
        {

            if (url == "http://www.tones.be/shop_producten.php?cat=110")
	    {
                string a = "cat110.txt";
              
            	TextWriter tw = new StreamWriter(a);
          
           	 // Create a request for the URL. 
            	WebRequest request = WebRequest.Create(url);

            	// If required by the server, set the credentials.
           	 request.Credentials = CredentialCache.DefaultCredentials;
            	// Get the response.
            	WebResponse response = request.GetResponse();
            	// Display the status.
            	tw.WriteLine(((HttpWebResponse)response).StatusDescription);
            	// Get the stream containing content returned by the server.
            	Stream dataStream = response.GetResponseStream();
            	// Open the stream using a StreamReader for easy access.
            	StreamReader reader = new StreamReader(dataStream);
           	 // Read the content.
            	string responseFromServer = reader.ReadToEnd();
            	// Display the content.
            	tw.WriteLine(responseFromServer);
            	// Clean up the streams and the response.
            	reader.Close();
            	response.Close();
            	tw.Close();
	    }
        }
    }
}
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan