Это простая публикация на сайте https с помощью консольного приложения C #, я тоже самое использовал с веб-сервисом. Когда я запускаю это, оно замерзает. Скачал скрипач и во вкладке Auth вижу
Заголовок прокси-аутентификации отсутствует.
Заголовок WWW-Authenticate отсутствует.
Ранее я использовал Stream вместо MemoryStream. Я прокомментировал некоторые вещи, которые использовал ранее, но не работал как предварительная аутентификация.
Я могу войти на сайт, чтобы получить подписчика через 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 = "test999@test1.com";
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());
}
}
}
}
}