Windows phone 7 - Как использовать HTTPWebRequest для POST / GET-данных с сайта .jsp [с файлами cookie] - PullRequest
1 голос
/ 18 марта 2011

Заголовок довольно хорошо суммирует.

На указанном сайте есть файлы cookie, мне нужно опубликовать данные из текстового поля в виде значения на указанном сайте и вернуть одну из двух переменных.Я читал некоторые учебники и несколько книг по Windows Phone 7.Никто из них не был связан с тем, что я пытался сделать.Они имели дело только с одним целым файлом или чем-то, что может быть преобразовано в URL.Я также мог бы сделать это таким образом, если бы у кого-то был способ использовать cookie-файлы и просто отправить его как URL [но я не знаю, как создать URL таким образом, чтобы сделать это реалистичным решением].

1 Ответ

2 голосов
/ 18 марта 2011

Вы должны иметь возможность отправлять куки, используя код, подобный:

CookieContainer container = new CookieContainer();
container.Add(new Uri("http://yoursite"), new Cookie("name", "value"));
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://yoursite");
request.CookieContainer = container;
request.BeginGetResponse(new AsyncCallback(GetData), request);

Код заимствован из Заголовок HttpWebRequest и Set-Cookie в ответе не проанализирован (WP7)

Если сервер ожидает использовать файлы cookie (например, для аутентификации), вы не сможете использовать вместо этого переменные формы / параметры запроса.

Вам необходимо использовать инструмент под названием Fiddler для проверки вызовов, которые совершает веб-сайт в настоящее время - это будет включать в себя смесь:

  • переменные cookie - особенно для аутентификации
  • получить переменные - передается в пути URL
  • и переменные post - передаются в теле запроса

Если вам нужно выполнить полный POST, вам нужно будет установить переменные, такие как - request.Method и request.ContentType - и вам нужно будет добавить RequestStream. Есть библиотеки, которые вы можете использовать как HAMMOCK, чтобы помочь - или у меня есть некоторый пример кода в iron7 - посмотрите метод DoCodePost у основания этого класса загрузчика - или посмотрите во многих других проектах на CodePlex и GitHub.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...