Получить опубликованные данные в виде строки из другого источника в ASP.NET - PullRequest
3 голосов
/ 25 октября 2011

У меня есть URL, и данные размещаются на этом URL через программное обеспечение ERP от другого поставщика ..... Я хочу собрать данные, опубликованные на моем URL в событии загрузки страницы от этого поставщика .... Что должно быть сделано для этого в ASP.NET с C #? У него нет имени поля, и он автоматически генерирует строку данных, а затем автоматически публикует ее на моей странице ASP.NET.

Ответы [ 5 ]

2 голосов
/ 03 ноября 2011

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

Page.Response.ContentType = "text/xml"; //For XML Data

Затем прочитать эти данные в потоковом считывателе:

StreamReader sr = new StreamReader(Page.Request.InputStream);

Данныев потоковом ридере есть кодированный URL.Поэтому вы должны декодировать его, прежде чем использовать его далее:

string main = Server.UrlDecode(sr.ReadToEnd());

Вот и все.Надеюсь, это поможет.

1 голос
/ 25 октября 2011
var parameter = Request.QueryString["parameterName"];

if (parameter != null)
{
 //.. use it
}

См. HttpRequest.QueryString

0 голосов
/ 03 ноября 2011
foreach(var key in Request)
{
    var data = Request[key];
}

будет выполнять итерации по Request.Querystrung, Request.Form и Request.Params.

0 голосов
/ 25 октября 2011

Если они делают POST, вы можете использовать Request.Form.Он вернет NameValueCollection элементов, опубликованных в URL, и вы можете просмотреть его, если не знаете название публикуемого.Если вы знаете имя, то вы можете сделать Request.Form["NamedItem"].

0 голосов
/ 25 октября 2011

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

при условии, что вы знаете, что «данные» - это первый параметр, вы можете получить к нему доступ следующим образом:

string data = Request.QueryString.getKey(0);

Если это не сработает, вы можете получить прямой доступ к URL

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