私のC#コードは、リクエストを別のURLにリダイレクトする必要があるAPIサービス(PHP)を呼び出しています。返す前にレスポンスを処理します。ここに私のC#のコードは次のとおりです。コンテンツのある別のURLにリダイレクト
proxy.php
で
HttpWebRequest request = null;
WebResponse response = null;
Stream writer = null;
request = (HttpWebRequest)WebRequest.Create(http://www.somewhere.com/proxy.php);
request.Method = "POST";
request.ContentType = "multipart/form-data; boundary=" + this.builder.Boundry;
this.builder.RequestStream.Position = 0;
byte[] tempBuffer = new byte[this.builder.RequestStream.Length];
this.builder.RequestStream.Read(tempBuffer, 0, tempBuffer.Length);
writer = await request.GetRequestStreamAsync().ConfigureAwait(false);
writer.Write(tempBuffer, 0, tempBuffer.Length);
writer = null;
response = await request.GetResponseAsync().ConfigureAwait(false);
そして:
<?php
// 1. Redirect everything (with the content stream from the C# code) to http://www.elsewhere.com
// 2. Process the response from http://www.elsewhere.com
// 3. Return processed data to my C# code
?>
私はこれをどのように行うことができますか?それは私がこのラインに置く要求ストリームをリダイレクトする必要があります。
writer = await request.GetRequestStreamAsync().ConfigureAwait(false);
writer.Write(tempBuffer, 0, tempBuffer.Length);
http://php.net/manual/en/function.header.php – mkaatman
最初からelsewhere.comに電話をかけてみませんか? –
'proxy.php'はelsewhere.comからの応答を受け取り、それをC#コードに返す前に変更する必要があるためです。 – Darius