Хорошо, у меня есть функция, которую я написал, которая позволяет мне публиковать данные с помощью файлов cookie.Проблема в том, что я тестирую его на странице входа в Amazon, и он продолжает отвечать, что мне нужны куки.Вот код
public string DoPost(String url, PostData data, CookieContainer cookies)
{
HttpWebRequest objWebRequest = (HttpWebRequest)WebRequest.Create(url);
objWebRequest.CookieContainer = cookies;
objWebRequest.AllowAutoRedirect = true;
objWebRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0)";
if(data != null)
{
String post = data.ToString();
objWebRequest.Method = "POST";
objWebRequest.ContentLength = post.Length;
objWebRequest.ContentType = "application/x-www-form-urlencoded";
// Post to the login form.
using(StreamWriter swRequestWriter = new StreamWriter(objWebRequest.GetRequestStream()))
{
swRequestWriter.Write(post);
}
}
// Get the response.
HttpWebResponse objWebResponse =
(HttpWebResponse)objWebRequest.GetResponse();
// Read the response
using(StreamReader srResponseReader = new StreamReader(objWebResponse.GetResponseStream()))
{
string strResponseData = srResponseReader.ReadToEnd();
return strResponseData;
}
}
И я называю это так
String action = "https://www.amazon.com/gp/flex/sign-in/select.html";
String s = DoPost(action, null, Cookies);
Файлы cookie создаются в моем конструкторе классов следующим образом
CookieContainer Cookies;
public Constructz0r()
{
Cookies = new CookieContainer();
}
Дело в том, что яЯ даже не публикую никаких данных постов, я просто захожу на страницу, где говорится, что мои куки не включены, хотя я чувствую, что сделал это, напишите в DoPost.
Я дажепопытался использовать эту реализацию WebClient
public class CookieWebClient : WebClient
{
private CookieContainer _cookieContainer = new CookieContainer();
protected override WebRequest GetWebRequest(Uri address)
{
WebRequest request = base.GetWebRequest(address);
if (request is HttpWebRequest)
{
(request as HttpWebRequest).CookieContainer = _cookieContainer;
}
return request;
}
}
И назвать ее так
using(CookieWebClient ck = new CookieWebClient())
{
String s = ck.DownloadString(action);
}
И он все еще говорит мне, что куки не включены.