Как эмулировать XHttpRequest в c # - PullRequest
0 голосов
/ 24 февраля 2010

Мне нужен доступ к сервису из windows-клиента? это может быть вызвано запросом ajax - GET. и возвращает XML

если я использую HttpWebRequest request = HttpWebRequest.Create...

для ex url: http://site.com/UtilBillAjaxServlet?event=GET_PAMENT_CENT_DUE&SERVICEPROIDER=providername&SERVICETYPE=BROADBAND&CONSUMERNUMBER=195100601

И возвращает ответ 0-длины (в браузере возвращает правильный ответ)

Мне кажется, проблема в том, что сервер обнаруживает этот запрос как не-xhttp-запрос (есть ли разница?)

Спасибо.

Ответы [ 2 ]

2 голосов
/ 24 февраля 2010

Вы должны использовать fiddler или любой другой сниффер для отслеживания этого.

Но для того, что вы хотите, просто используйте следующее: http://support.microsoft.com/default.aspx/kb/307023

1 голос
/ 24 февраля 2010

Возможно, что сервис отвечает только на запросы, поступающие из браузера; Я нахожу это немного странным, но не неслыханным.

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

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(yourUri);

// Pretend to be IE6!
request.UserAgent = "Mozilla/4.0 (compatible; MSIE 6.0; windows NT 5.1)";
request.Method = "GET";
request.AllowAutoRedirect = true;
request.KeepAlive = true;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...