|
Проблемы C# и Yandex Locator API
#38200412
Ссылка:
Ссылка на сообщение:
Ссылка с названием темы:
|
|
|
|
Нужно получать координаты текущего местоположения, юзаю Я. Локатор.
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83.
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Net;
using System.Xml.Serialization;
using System.Xml.Linq;
using Android.Telephony;
using Android.Widget;
namespace TrackingApp
{
public class DataXmlGenerator
{
private static DataXmlGenerator m_XMLGenerator = new DataXmlGenerator();
private static dynamic YaLocator = new
{
Version = "1.0",
ApiKey = @"AB8KN1EBAAAAt-_0awMAtvZAzciQJO3iFHMvHyCRkBhG0mcAAAAAAAAAAACIqk6bjAfT-oQaEeb9uU8Cavl2-g==",
CountryCode = 250,
OperatorId = 1,
CellId = 12,
Lac = 6405,
SignalStrengthGsm = -45,
SignalStrengthWiFi = -90,
Age = 1000,
Mac = "0123456789AB",
IP = "37.218.149.199"
};
private DataXmlGenerator ()
{
}
public static DataXmlGenerator GetInstance()
{
return m_XMLGenerator;
}
public void XMLsender()
{
System.Net.ServicePointManager.Expect100Continue = false;
var req = (HttpWebRequest)WebRequest.Create("http://api.lbs.yandex.net/geolocation");
req.Method = WebRequestMethods.Http.Post;
req.ContentType = "application/x-www-form-urlencoded";
req.Headers[HttpRequestHeader.AcceptEncoding] = "identity";
var xDoc = new XDocument(
new XElement("ya_lbs_request",
new XElement("common",
new XElement("version", YaLocator.Version),
new XElement("api_key", YaLocator.ApiKey)),
new XElement("gsm_cells",
new XElement("countrycode", YaLocator.CountryCode),
new XElement("operatorid", YaLocator.OperatorId),
new XElement("cellid", YaLocator.CellId),
new XElement("lac", YaLocator.Lac),
new XElement("signal_strength", YaLocator.SignalStrengthGsm),
new XElement("age", YaLocator.Age)),
new XElement("wifi_networks",
new XElement("network",
new XElement("mac", YaLocator.Mac),
new XElement("signal_strength", YaLocator.SignalStrengthWiFi))),
new XElement("ip",
new XElement("address_v4", YaLocator.IP))));
var sentData = System.Text.Encoding.UTF8.GetBytes(string.Format("xml={0}", xDoc.ToString()));
req.ContentLength = sentData.Length;
using (var sendStream = req.GetRequestStream())
{
sendStream.Write(sentData, 0, sentData.Length);
}
var response = (HttpWebResponse)req.GetResponse();
var buf = new byte[response.ContentLength];
using (var respStream = response.GetResponseStream())
{
respStream.Read(buf, 0, buf.Length);
string m = System.Text.Encoding.UTF8.GetString(buf);
}
}
}}
Вот по этому коду передаю, получаю, только загвоздка вот в чем тут: http://habrahabr.ru/company/yandex/blog/114491/ у людей все работает, у меня падает с 404 ошибкой
1.
var response = (HttpWebResponse)req.GetResponse();
Уже голова пухнет почему он так делает, ссылки вроде все норм, можете подсказать ребят где я ошибку допускаю... =(
Заранее очень благодарен!
|
|
|