Avatar billede motervejen Nybegynder
29. juli 2004 - 19:04 Der er 6 kommentarer og
1 løsning

GetResponse af HTML med certifikat fra server

Hej

Jeg sidder og er ved at parse en html-side ind via C#. Det har jeg skam også fået til at virke som det skal. Problemet er at jeg ikke kan få det til at virke for en server der har certifikat. Hvis man f.eks. går ind på siden med en normal browser uden at have certifikatet installeret, skal man trykke ok til at man stoler på at serveren er den den udgiver sig for, for at få siden vist.

Jeg har en grum mistanke for, at det er derfor at jeg ikke kan få siden vist.

Fejl når jeg prøver: "Could not establish trust relationship with remote server."

Er der nogen der har nogle forslag på hvordan jeg kan gribe det an??

Forsimplet version af min kode:

System.Net.WebRequest wr = System.Net.WebRequest.Create("http://www.url.dk");
string html = new System.IO.StreamReader(wr.GetResponse().GetResponseStream()).ReadToEnd();
Label1.Text = html;

Håber der er nogle der kan hjælpe :oD

Mvh
Avatar billede arne_v Ekspert
29. juli 2004 - 19:08 #1
Avatar billede arne_v Ekspert
29. juli 2004 - 19:11 #2
Avatar billede motervejen Nybegynder
29. juli 2004 - 19:23 #3
Hey arne_v

Tak for dit meget hurtige svar... Sjovt nok sad jeg lige selv og kiggede på samme løsning på http://weblogs.asp.net/wim/archive/2004/04/02/106281.aspx. Jeg må dog indrømme at jeg ikke helt kan få det til at funke...

Den står stadig og "tænker" efter jeg har lavet mit request. Har du andre gode ideer?

Nu ser det sådan ud:

System.Net.ServicePointManager.CertificatePolicy = new MySecurityPolicy();
            System.Net.WebRequest wr = System.Net.WebRequest.Create("https://huminf.domino.hum.aau.dk/QuickPlace/placetype_v8/Main.nsf/h_BD9AB23452019BC9C1256ECF0054ADB4/D221B72DACDB8454C1256EE0002C5A3F/?OpenDocument");
            string html = new System.IO.StreamReader(wr.GetResponse().GetResponseStream()).ReadToEnd();
            Label1.Text = html;

Jeg har lige inkluderet den adr. der volder problemer...
Avatar billede arne_v Ekspert
29. juli 2004 - 19:41 #4
Mystisk. Det virker hos mig !
Avatar billede arne_v Ekspert
29. juli 2004 - 19:41 #5
Testet med:

using System;
using System.Net;
using System.Security.Cryptography.X509Certificates;

class MainClass
{
    public static void Main(string[] args)
    {
        ServicePointManager.CertificatePolicy = new MySecurityPolicy();
        WebRequest wr = WebRequest.Create("https://huminf.domino.hum.aau.dk/QuickPlace/placetype_v8/Main.nsf/h_BD9AB23452019BC9C1256ECF0054ADB4/D221B72DACDB8454C1256EE0002C5A3F/?OpenDocument");
        string html = new System.IO.StreamReader(wr.GetResponse().GetResponseStream()).ReadToEnd();
        Console.WriteLine(html);   
    }
}

internal class MySecurityPolicy : ICertificatePolicy
{
    public bool CheckValidationResult(ServicePoint sPoint, X509Certificate cert, WebRequest wRequest, int certProb)
    {
        return true;
    }
}
Avatar billede motervejen Nybegynder
29. juli 2004 - 19:42 #6
Nope...

Har fundet ud af det...

Så var det ikke mine sikkerhedsinstillinger der drillede mere. Tusind tak for hjælpen

MVH
Avatar billede motervejen Nybegynder
29. juli 2004 - 19:44 #7
Så kom du også lidt på overarbejde :o)

Dine point er tildelt...

Go' weekend herfra!
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
Kurser inden for grundlæggende programmering

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