特定のURLにajaxリクエストがあるかどうかを確認しようとしています。そうであれば、リクエストにCookieを追加しようとしています。HttpListnerがリッスンしていない
しかし、私のHttpListnerは、localhost
しか聞いていません。私が他のURLを出そうとすると、それは聞こえません。
ファイアウォールもオフにしていますが、同じ問題です。
私が間違っている箇所を教えてください。以下は
私のコードです:
class Program
{
static void Main(string[] args)
{
HttpListener listner = new HttpListener();
listner.Prefixes.Add("<my url>");//For example, https://www.google.co.in/
listner.Start();
HttpListenerContext context = listner.GetContext();
HttpListenerRequest request = context.Request;
WebRequest webReq = WebRequest.Create(request.Url);
//Copying the headers
System.Collections.Specialized.NameValueCollection headers = request.Headers;
for (int i = 0; i < headers.AllKeys.Length; i++)
{
if (!WebHeaderCollection.IsRestricted(headers.AllKeys[i]))
{
webReq.Headers.Add(headers.AllKeys[i], headers[headers.AllKeys[i]]);
}
}
webReq.ContentLength = request.ContentLength64;
webReq.ContentType = request.ContentType;
webReq.Headers.Add(HttpRequestHeader.Cookie, "<My Cookie>");
HttpListenerResponse response = context.Response;
WebResponse webResponse = webReq.GetResponse();
webResponse.GetResponseStream().CopyTo(response.OutputStream);
}
}
私は、httplistenerがウェブサーバーなどを作るためのものだと確信しています。 GoogleにURLを設定すると、「googleに入ってくるWebリクエストを処理したい」という意味になりますが、これは起こりません。あなたはそれで何をしようとしていますか? – James
$ .ajaxを使用してクロスソース要求を送信しようとすると、ブラウザは要求を認証するCookieを削除しています。だから、私はリクエストを傍受し、ヘッダを追加して送信するプロキシを作成しています。 – Karthik
私のマシンからgoogle(例)に行くウェブリクエストを処理したい – Karthik