2013-12-23 4 views
0

Я, похоже, не получаю поддержку методов HTTP POST. Я только что научился делать методы GET для извлечения веб-страниц, но теперь я пытаюсь заполнить информацию на веб-странице и не могу заставить ее работать. Исходный код, который возвращается всегда неверная страница (полная сломанных изображений/не нужная информация)HTTP-сообщение с JSON

public static void jsonPOST(string url) 
{ 
      url = "http://treasurer.maricopa.gov/Parcel/TaxReceipt.aspx/GetTaxReceipt"; 
      var httpWebRequest = (HttpWebRequest)WebRequest.Create(new Uri(url)); 
      httpWebRequest.ContentType = "application/json; charset=utf-8"; 
      httpWebRequest.Accept = "application/json, text/javascript, */*; q=0.01"; 
      httpWebRequest.Headers.Add("Accept-Encoding: gzip, deflate"); 
      httpWebRequest.CookieContainer = cookieJar; 
      httpWebRequest.Method = "POST"; 
      httpWebRequest.Headers.Add("Accept-Language: en-US,en;q=0.5"); 
      httpWebRequest.UserAgent = "Mozilla/5.0 (Windows NT 6.1; WOW65; Trident/7.0; MAM5; rv:11.0) like Gecko"; 
      httpWebRequest.Referer = "http://treasurer.maricopa.gov/Parcel/TaxReceipt.aspx"; 


      string postData = "{\"startDate\":\"1/1/2013\",\"parcelNumber\":\"17609419\"}"; 
      byte[] bytes = System.Text.Encoding.ASCII.GetBytes(postData); 
      httpWebRequest.ContentLength = bytes.Length; 
      System.IO.Stream os = httpWebRequest.GetRequestStream(); 
      os.Write(bytes, 0, bytes.Length); //Push it out there 
      os.Close(); 

      System.Net.WebResponse resp = httpWebRequest.GetResponse(); 
      if (resp == null) 
      { 
       Console.WriteLine("null"); 
      } 
      System.IO.StreamReader sr = new System.IO.StreamReader(resp.GetResponseStream()); 
      string source = sr.ReadToEnd().Trim(); 
} 

EDIT: Я обновил код, чтобы отразить мою новую проблему. Теперь проблема заключается в том, что исходный код не является тем, что возвращается ко мне. Я получаю только сырую информацию JSON в source. Что я могу использовать для десериализации информации, которую мне нужно получить, но мне любопытно, почему фактический исходный код не возвращается мне

+0

Является ли это ASP.NET MVC или WebForms? – valverij

+0

Это консольное приложение, которое я пытаюсь просто очистить для получения некоторой информации для базы данных наших компаний – MaylorTaylor

ответ

0

Исходный код, который возвращается, всегда является недопустимой страницей (полный разбитых изображений/неправильная информация)

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

http://webdesign.about.com/od/beginningtutorials/a/aa040502a.htm

Помните crossdomain Аякса может быть проблемой в этой ситуации.

Смежные вопросы