T
ToM80
Guest
Es ist zum Haare ausreißen.
Ich hatte ja vor kurzem schon ein Thread zum .htaccess. Der das Problem nun aber eingegrenzt ist, eröffne ich ein neues.
Es geht um folgendes:
Eine mittels htaccess geschützte Seite soll direkt aus einer WPF-Desktop Anwendung aufgerufen werden.
Hierfür wird auf die Methode WebBrowser.Navigate() zurück gegriffen.
Leider funktioniert die Überagbe der URL mittels
nicht. Es wird die Fehlermeldung "0x800C000E) geworfen.
Dies ist verwunderlich, da in Windows Forms das ganze ohne Probleme durchgeht.
Ich bin da darauf gestoßen, dass man die Daten im Header mitgeben kann. Angeblich soll das auch funktionieren (http://peter.hahndorf.eu/blog/2006/08/19/BasicAuthenticationInTheWebBrowserControl.aspx). Tut es aber leider in meinem Fall nicht.
Ich gelte weiterhin als "unauthorized" und das Fenster für Username und Passwd gehen weiterhin auf.
Folgendermaßen sieht meine Test-Window-XAML aus:
Hier der zugehörige C# Code:
Ich hatte ja vor kurzem schon ein Thread zum .htaccess. Der das Problem nun aber eingegrenzt ist, eröffne ich ein neues.
Es geht um folgendes:
Eine mittels htaccess geschützte Seite soll direkt aus einer WPF-Desktop Anwendung aufgerufen werden.
Hierfür wird auf die Methode WebBrowser.Navigate() zurück gegriffen.
Leider funktioniert die Überagbe der URL mittels
Code:
http://user:password@subdomain.domain.tld
Dies ist verwunderlich, da in Windows Forms das ganze ohne Probleme durchgeht.
Ich bin da darauf gestoßen, dass man die Daten im Header mitgeben kann. Angeblich soll das auch funktionieren (http://peter.hahndorf.eu/blog/2006/08/19/BasicAuthenticationInTheWebBrowserControl.aspx). Tut es aber leider in meinem Fall nicht.
Ich gelte weiterhin als "unauthorized" und das Fenster für Username und Passwd gehen weiterhin auf.
Folgendermaßen sieht meine Test-Window-XAML aus:
Code:
<Window x:Class="webbrowsercontrol.Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="HTACCESS Pass Through Test" Width="1024" Height="768">
<Grid>
<Grid.Background>
<LinearGradientBrush MappingMode="RelativeToBoundingBox" EndPoint="0.5,1" StartPoint="0.5,0">
<GradientStop Color="#FF000000" Offset="0"/>
<GradientStop Color="#FF52698D" Offset="1"/>
</LinearGradientBrush>
</Grid.Background>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="0.226*"/>
<ColumnDefinition Width="0.774*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="0.091*"/>
<RowDefinition Height="0.755*"/>
<RowDefinition Height="0.154*"/>
</Grid.RowDefinitions>
<TextBlock Margin="1,1,1,1" Text="Navigate To" TextWrapping="Wrap" Foreground="#FFF4EAEA"/>
<TextBox x:Name="txtLoad" Margin="0,1,0,1" Grid.Column="1" Text="" TextWrapping="Wrap" Background="#FFBDA4A4" HorizontalAlignment="Stretch" Cursor="No" Foreground="#FFE91D1D" Width="Auto" Height="30" VerticalAlignment="Top"/>
<Border Margin="1,1,1,1" Grid.ColumnSpan="2" Grid.Row="1" BorderBrush="#FF000000" BorderThickness="1,1,1,1">
<WebBrowser x:Name="myBrowser" Margin="0,0,0,0" Cursor="Arrow"/>
</Border>
</Grid>
</Window>
PHP:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
namespace webbrowsercontrol
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public partial class Window1 : Window
{
public Window1()
{
InitializeComponent();
System.Uri uri = new Uri("http://supdomain.domain.tld/folder/file.asp");
byte[] authData = System.Text.UnicodeEncoding.UTF8.GetBytes("username: password");
string authHeader = "Authorization: Basic " + Convert.ToBase64String(authData) + "\r\n";
myBrowser.Navigate(uri, "", null, authHeader);
}
}
}