umleiten, wenn Sie den Login-Prozess Anmeldung Firebug ich sehe, dass es wie dieses istWebClient nicht automatisch
POST //The normal post request
GET //Automatically made after the login
GET //Automatically made after the login
GET //Automatically made after the login
Wenn eine Post-Anforderung mit meinen Code machen darunter nicht die automatischen GET-Anfragen gemacht hat, dass der Browser ist tun.
MY WebClient Handler
using System;
using System.Net;
namespace Test
{
class HttpHandler : WebClient
{
private CookieContainer _mContainer = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
var request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = _mContainer;
}
return request;
}
protected override WebResponse GetWebResponse(WebRequest request)
{
var response = base.GetWebResponse(request);
if (response is HttpWebResponse)
_mContainer.Add((response as HttpWebResponse).Cookies);
return response;
}
public void ClearCookies()
{
_mContainer = new CookieContainer();
}
}
}
Verwenden von Code
private static async Task<byte[]> LoginAsync(string username, string password)
{
var postData = new NameValueCollection();
var uri = new Uri(string.Format("http://{0}/", ServerName));
postData.Add("name", username);
postData.Add("password", password);
return await HttpHandler.UploadValuesTaskAsync(uri, postData);
}
Beim Versuch, die Verbindung meiner Anwendung zu verfolgen ist es nur die POST-Anforderung zu tun und nicht der Rest von GET-Anfragen. [DAS WIRD AUTOMATISCH IM BROWSER GEMACHT]
Scheitert es auch in der synchronen Version? Mit AllowAutoRedirect würde ich erwarten, dass es funktioniert ... möglicherweise ist es ein Problem mit der Umleitung von POST? –