質問

私は情報を取得するために必要なサードパーティの.JSPページを持っています。私のアプリケーションはMVC4で開発されています。アプリケーションでこの.jspファイルから情報を取得するにはどうすればよいですか。

WebRequestを使用してみましたが、コンテンツはありません。

よろしくファテマ

役に立ちましたか?

解決

2つのオプションがあると思います。

最初のオプションは、Ajaxを使用してクライアント側でこれを行うことです。http://api.jquery.com/jquery.ajax/

コードは次のように見える可能性があります:

function CallOtherSite(otherSiteUrl) {  
$.ajax({
    url: otherSiteUrl,
    cache: false,
    success: function (html) {
     //This will be the html from the other site
    //parse the html/xml and do what you need with it.
    }
});

これはクライアント側のJavaScriptで行われるため、CORSの問題に遭遇する可能性が高いでしょう。 (http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/20/implementing-cors-support-in-asp-net-web-apis.aspx)

私の意見では、他のオプションとより良いオプションは、サーバー側でこれを行うことです。 (コントローラーのいずれかで、またはかみそりのビュー)(コントローラーでははるかに簡単になります...)

try
{
    var request = (HttpWebRequest)WebRequest.Create(urlToOtherSite);
    request.Accept = "application/xml";
    request.Method = "GET";
    webResponse = (HttpWebResponse)request.GetResponse();
    sr = new StreamReader(webResponse.GetResponseStream());
    string responseText = sr.ReadToEnd();
}
catch(Exception ex)
{
}
finally
{
    if (sr != null) { sr.Close(); }
    if (webResponse != null) { webResponse.Close(); }
}

その後、StreamReaderを使用してHTML/XMLを取得し、それを使用することを行うことができます。

お役に立てれば...

他のヒント

含有データが動的であるため、JSP-PageはTomcatのようなサーブレットコンテナーによって実際にレンダリングする必要があります。そのため、.NETアプリケーションでHTML出力を解析できます。

これが唯一の方法かもしれません。 JSPからデータを直接読むには。

とにかく、JSPが一部のJava EE-ApplicationにAPIを追加するなど、データを取得する別の方法を見つけることをお勧めします。または、既存のものにアクセスします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top