1

私のシナリオで。

Path、QueryStrings、Method、Contentを含む別のドメインにすべてのリクエストをリダイレクトしたい

例一部のユーザーが私のドメインにリクエストを送信します。

POST www.mydomain.com/service?id=5
HEADER { 
token:securityToken
UserAgent: Chrome
Accept: application/json
}
BODY
{
Content lorem ipsum
}

いくつかのパラメータを確認し、ヘッダーのトークンを変更します。

それで

このリクエストを別のドメインに送信したいと思います。

POST www.anotherdomain.com/service?id=5
HEADER {
token:newsecurityToken
UserAgent: Chrome
Accept: application/json
}
BODY
{
Content lorem ipsum
}

ついに

ユーザーはanotherdomainの応答を受け取ります。出来ますか ?

サーバー:Windows Server 2008 .Net Framework:4.0

ありがとう

4

2 に答える 2

2

ドメインを介してリクエストを返送する場合は、外部ドメインに対して独自のリクエストを行うのが最善の策です。方法について詳しく説明しますが、使用している.netのバージョンがわかりません。これが方法の概要を説明する1つの投稿です。

asp.netでの要求の中継(要求の転送)

基本的には、新しいものを作成しWebRequest、関連するプロパティを設定し、応答を取得し、応答からの情報をユーザーに送り返すことを意味します。

私はこれを尋ねなければならないような気がします、あなたはフィッシングか何かをしようとしていないのですか?考え直して、気にしないでください。;)

アップデート:

ドメインを通過するのに必要ないので、301リダイレクトを使用することをお勧めします。これは、誰かが開始リクエストでそれを行う投稿です

asp.net4.0での301リダイレクト

void Application_BeginRequest(object sender, EventArgs e) 
{
    // Code that runs on every request
    if (HttpContext.Current.Request.Url.ToString().ToLower().Contains("http://website.net"))
    {
        HttpContext.Current.Response.Status = "301 Moved Permanently";
        HttpContext.Current.Response.AddHeader("Location", Request.Url.ToString().ToLower().Replace("http://website.net", "http://www.website.net"));
    }
}

この投稿では、リダイレクトするかどうかを決定するための複雑なロジックがない場合に、web.configでURLを書き換えることでそれを行う方法も提供されていることに注意してください。

于 2013-02-22T21:32:15.313 に答える
0

私はこれまでこのアプローチを見たことがないので、アイデアを捨てるだけですが、これを達成するためにSOAP Webサービスを使用できない理由はありますか?

オブジェクトへの値をwebserviceswebmethodC#に渡します

それらは多かれ少なかれこのタイプのもののために作成され、あなたの人生をずっと楽にしてくれるでしょう。それ以外の場合は、URLパラメータを使用できます

Asp.netがURL文字列にパラメータを追加します

または、POST&GETリクエストを適切に使用して値を渡すだけです。ドメインBにPOSTし、それらの値を解析するPOSTを待機するリスナーを用意します。私はWebサービスを利用しますが、見た目よりも簡単です。

于 2013-02-22T21:41:38.637 に答える