0

Web サイト A と Web サイト B という 2 つの Web サイトがあるとします。

Web サイト A が (サード パーティの Web サイトから) 投稿要求を受け取り、この要求をそのデータと共に Web サイト B に中継したいと考えています。以下のアプローチを試しましたが、Web サイト B に移動していないようです。

string newUrl = "http://localhost/WebSite-B/Test.aspx";

HttpRequest original = HttpContext.Current.Request;

HttpWebRequest newRequest = (HttpWebRequest)WebRequest.Create(newUrl);

newRequest.ContentType = original.ContentType;
newRequest.Method = original.HttpMethod;
newRequest.UserAgent = original.UserAgent;

byte[] originalStream;

using (var memoryStream = new MemoryStream())
{
    original.InputStream.CopyTo(memoryStream);
    originalStream = memoryStream.ToArray();
}

Stream reqStream = newRequest.GetRequestStream();
reqStream.Write(originalStream, 0, originalStream.Length);
reqStream.Close();

newRequest.CookieContainer = new CookieContainer();

newRequest.GetResponse();

GetResponse() が開いたり、要求されたページに移動したりしていないようです。

Web サイト A が受信した POST リクエストを Web サイト B に渡す方法を教えてください。

4

1 に答える 1

0

別の Webサイトで同様の質問に回答しました。便宜上、サンプル コードを次に示します。

    ASCIIEncoding encoding = new ASCIIEncoding();
    string postData = "now=" + strId;
    postData += ("&random=" + random);
    byte[] data = encoding.GetBytes(postData);
    HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(http://www.domain.com/controler/action);
    myRequest.Method = "POST";
    myRequest.ContentType = "application/x-www-form-urlencoded";
    myRequest.ContentLength = data.Length;
    Stream newStream = myRequest.GetRequestStream();
    newStream.Write(data, 0, data.Length);
    newStream.Close();

同じ機能を実現する別の方法は、ここにあります。

于 2013-09-19T08:50:00.887 に答える