Avatar billede bramsing Nybegynder
12. maj 2010 - 22:43 Der er 9 kommentarer og
1 løsning

FTP via WebClient virker lokalt men ikke på webhotel

Jeg har været lidt for hurtig til at lukke dette spørgsmål:
http://www.eksperten.dk/spm/908713

Jeg får den fint til at virke i Debug lokalt hos mig, men når jeg Publisher til Webhotellet (.NET 2.0) så melder Unable to connect to remote server...

Jeg kan godt få den til at virke over HTTP på Webhotellet, men så snart jeg vil have den til at hente fra FTP, dur den ikke...


Min code behind:

using System;
using System.Collections.Generic;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Net;

namespace Metar
{
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string Side = Request.QueryString["side"];
            string url = "ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/EKCH.TXT";
            //string url = "ftp://tgftp.nws.noaa.gov/data/observations/metar/stations/" + Side + ".TXT";
            //string url = "http://usa-s1.vatsim.net/data/metar.php?id=ekch";

            WebClient wc = new WebClient();
            string StrMetar = wc.DownloadString(url);
            //                string StrMetar = wc.DownloadString(url); // + Side + ".TXT");
            DivMetar.InnerHtml = StrMetar;
            DivMetar.InnerHtml = DivMetar.InnerHtml + "<br /><br />URL: " + url;

        }
    }
}
Avatar billede arne_v Ekspert
12. maj 2010 - 22:51 #1
Første ting at prøve er at spørge dit web hotel om de tillader udgående FTP !
Avatar billede bramsing Nybegynder
12. maj 2010 - 22:58 #2
Det har jeg tidligere spurgt dem om og de svarede at det ville være muligt med .net

Men kan være Surftown ikke har forstået spørgsmålet ordenligt..
Avatar billede bramsing Nybegynder
12. maj 2010 - 23:19 #3
Her var svaret jeg fik fra Surftown support...

Jeg har fået af vide af en af vores udviklere at det skulle kunne lade sig gøre i .Net med dette objekt: http://msdn.microsoft.com/en-us/library/system.net.ftpwebrequest.aspx

Der er vel ikke den store forskel i hvordan WebClient og ftpwebrequest henter på ??
Avatar billede arne_v Ekspert
13. maj 2010 - 01:56 #4
De burde gøre fuldstændigt det samme.

Eneste forskel jeg kunne forestille mig var hvis WebClienet ikke brugte PASV som default.
Avatar billede arne_v Ekspert
13. maj 2010 - 01:58 #5
Men prøv da med:

        FtpWebRequest req = (FtpWebRequest)WebRequest.Create(ftpurl);
        FtpWebResponse resp = (FtpWebResponse)req.GetResponse();
        Stream net = resp.GetResponseStream();
        int n;
        byte[] b = new byte[1000];
        while((n = net.Read(b, 0, b.Length)) > 0)
        {
            String s = new String(b, 0, n);
            // gør noget med s
        }
        net.Close();
Avatar billede bramsing Nybegynder
13. maj 2010 - 10:20 #6
Jeg får 2 fejl på denne linie:
                String s = new String(b, 0, n);

Error    1    The best overloaded method match for 'string.String(char*, int, int)' has some invalid arguments    C:\Users\Bramsing\documents\visual studio 2010\Projects\Metar\Metar\Default.aspx.cs    53    28    Metar

Error    2    Argument 1: cannot convert from 'byte[]' to 'char*'    C:\Users\Bramsing\documents\visual studio 2010\Projects\Metar\Metar\Default.aspx.cs    53    39    Metar
Avatar billede arne_v Ekspert
13. maj 2010 - 16:23 #7
Ups.

String s = Encoding.UTF8.GetString(b, 0, n);
Avatar billede bramsing Nybegynder
13. maj 2010 - 18:12 #8
Well.. Den melder samme fejl som tidligere, med at den ikke kan få kontakt med serveren :-(

Fejlen må så ligge hos Surftown...

Dumper du et svar, så vil jeg lukke igen...
Avatar billede arne_v Ekspert
13. maj 2010 - 18:24 #9
Du kunne proeve med baade:

req.UsePassive = true;

og:

req.UsePassive = false;

for at se om det goer en forskel.
Avatar billede arne_v Ekspert
13. maj 2010 - 18:24 #10
Og et svar.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester