Это простая запись на сайт https с помощью консольного приложения C#, я использовал то же самое и с webservice. Когда я запустил это, он застыл. Скачан скрипач и на вкладке Auth я вижу Нет заголовка прокси-аутентификации. Нет заголовка WWW-Authenticate.Ошибка аутентификации POST-HTTPS
Раньше я использовал Stream вместо MemoryStream. Я прокомментировал некоторые из вещей, которые я использовал раньше, но не работал, как preauthenticate.
Я могу войти на сайт, чтобы получить подписчика через IE, используя того же пользователя и пароль. Может кто-нибудь, пожалуйста, скажите мне, что случилось ?.
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Web;
namespace Examples.System.Net
{
public class WebRequestPostExample
{
public static void Main()
{
Uri requestUri = new Uri("https://services.yesmail.com/enterprise/subscribers");
// Set the Method property of the request to POST.
CredentialCache cache = new CredentialCache();
NetworkCredential nc = new NetworkCredential("user/user1", "password");
cache.Add(requestUri, "Basic", nc);
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(requestUri);
//request.PreAuthenticate = true;
//request.KeepAlive = false;
request.Method = WebRequestMethods.Http.Post;
request.ContentType = "application/xml;charset=ISO-8859-1";
//request.ContentType = "application/xml-www-form-urlencoded";
//request.Timeout = 300000;
string EmailAddress = "[email protected]";
string FirstName = "first";
string LastName = "Last";
StringBuilder Efulfill = new StringBuilder();
Efulfill.Append("EmailAddress" + HttpUtility.UrlEncode(EmailAddress));
Efulfill.Append("FirstName" + HttpUtility.UrlEncode(FirstName));
Efulfill.Append("LastName" + HttpUtility.UrlEncode(LastName));
byte[] byteData = Encoding.UTF8.GetBytes(Efulfill.ToString());
request.ContentType = "application/xml;charset=ISO-8859-1";
request.ContentLength = byteData.Length;
using (MemoryStream Stream = new MemoryStream(byteData))
{
// Write the stream.
Stream.Write(byteData, 0, byteData.Length);
Stream.Close();
}
//Get response
using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
{
using (Stream resStream = response.GetResponseStream())
{
StreamReader reader = new StreamReader(resStream, Encoding.Default);
Console.WriteLine(reader.ReadToEnd());
}
}
}
}
}
С правильными учетными данными еще я получаю Удаленный сервер возвратил ошибку: (401) Несанкционированная, любая идея? – Rasi 2010-12-08 19:01:01
Вы когда-нибудь это понимали? – 2012-06-26 22:48:38