- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 Web API 接收我想在我的桌面应用程序中处理的 OAuth token 。 Web API 将用户重定向到 localhost:15779,我的应用程序使用下面的类在上面监听。
这里的问题是,提到的 API 通过 HTTP GET 发送 token ,但不使用查询参数 (?key=value),而是使用片段参数 (#key=value),我无法更改该行为,因为它不是我的 API。
示例:
http://127.0.0.1:15779/#access_token=b5c283xxxxxxxxe3lili5s003f5fqp&scope=chat_login+user_read
如果您看到下面的代码,您会注意到我正在将 HttpListenerContext.Request.Url.Fragment 写入 recievedData 变量,以便在浏览器中显示它,用于调试目的。问题是:它是空的。
关于如何获取 token 的任何想法?
class HttpLstn
{
public String prefixes;
public static String recievedData = "";
private static ManualResetEvent _waitHandle = new ManualResetEvent(false);
public void start(string prefixes)
{
this.prefixes = prefixes;
if (prefixes == null || prefixes.Length == 0)
throw new ArgumentException("Wrong listener URL");
using (HttpListener listenOn = new HttpListener())
{
if (!listenOn.Prefixes.Contains(this.prefixes))
listenOn.Prefixes.Add(this.prefixes);
listenOn.Start();
Thread.Sleep(100);
IAsyncResult result = listenOn.BeginGetContext(new AsyncCallback(ListenerCallback), listenOn);
_waitHandle.WaitOne();
Thread.Sleep(100);
listenOn.Close();
}
}
public static void ListenerCallback(IAsyncResult result)
{
try
{
HttpListener listenOn = (HttpListener)result.AsyncState;
HttpListenerContext context = listenOn.EndGetContext(result);
HttpListenerRequest request = context.Request;
//DEBUG
//write URL Fragment to recievedData in order to display it in the browser for testing purposes
recievedData = context.Request.Url.Fragment;
//DEBUG
HttpListenerResponse response = context.Response;
string responseString = recievedData;
byte[] buffer = System.Text.Encoding.UTF8.GetBytes(responseString);
response.ContentLength64 = buffer.Length;
Stream output = response.OutputStream;
output.Write(buffer, 0, buffer.Length);
output.Close();
_waitHandle.Set();
}
catch (HttpListenerException he) { }
catch (ObjectDisposedException oe) { }
}
}
最佳答案
我也遇到了。事实证明浏览器不会将片段部分发送到服务器;他们保留它并使用它滚动到返回文档的指定部分。
关于c# - HttpListener 未收到 URI 片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30993332/
我一直在 Windows 服务应用程序中放置一个小型嵌入式 HTTP 服务器,用于监听来自网络上使用 HTTP 的其他设备的更新。 对于每个 HTTP 请求,处理请求/响应的代码会执行两次,我希望它只
我正在开发一个迄今为止使用 HttpListener 来提供小型独立 http 服务器的应用程序。但是,我最近发现 HttpListener 需要以管理员身份运行,这并不总是可行的。 最好的选择是什么
我正在开发一个具有 HttpListener 的应用程序。我的目标是让用户根据自己的选择关闭和打开监听器。我将 Listener 放在一个新线程中,但在中止该线程时遇到问题。我在某处读到,如果您尝试中
我创建了简单的 HttpListener 来监听端口 9090 并根据请求的 URL 将一些信息写入控制台。 但我卡住了 :( 我想到了多线程、基于事件的系统,但我没有设法用它做任何事情。 这是我作为
我正在编写一个控制台应用程序作为 httplistener 并通过 jquery 使用它,它的工作完全正确,但我想将其转换为 https,但我不知道步骤 这是我的代码希望大家能尽快解决 这是在 JSc
我的 c# httplistener 仅在我在本地网络中发送请求时捕获请求(来自使用本地 ip 的同一 wifi 上的机器)。 当我查看我的公共(public) ip(在 google 中使用“我的
我正在制作一个简单的网络服务器来提供 html、css、js 和图像(在 c# 中完成)。我正在使用 HttpListener,我可以让 html、javascript 和 css 文件正常工作。我只
我尝试在不使用 IIS 的情况下设置 Web 服务。 我知道我们可以使用 HttpListener 来创建简单的 http 服务器。我想知道它现在是否已被弃用,因为 WCF 似乎提供了更多高级功能。
我有一个应该监听 HTTP 请求的 Windows 服务。为此,我正在使用 HttpListener。该服务已成功完成其工作。但是,当服务设置为在系统启动时自动启动时,我的 HTTP 初始化有延迟。
我有一个基于 HttpListener 的小型本地 Web 服务器。服务器提供文件给本地客户端应用程序解包并写入文件到 response.OutputStream; 但有时文件(视频)很大,我不认为总
我正在通过尝试获取一个打开的随机端口(或一个不在 IpGlobalProperties.GetActiveTcpConnections() 中的端口)来创建一个 HttpListener。我遇到的问题
我正在开发一个广泛使用 HttpListener() 的应用程序。到目前为止,我一直在实际网络上进行所有测试,但我现在对此感到厌烦。 我用正确的端口尝试了通常的嫌疑人(本地主机,127.0.0.1),
我正在使用这段代码来实现 Http 服务器: public Server() { _httpListener = new HttpListener(); _ht
我必须实现一个小型 REST 服务器来管理远程数据库,没什么特别的。安全性不是关键问题,因为此服务器必须在 Intranet 环境中运行;我们只想过滤用户并将他们重定向到适当的资源。
我有几个 HttpListener 服务在同一台机器上使用不同的 URI(同一端口)。有没有办法让一个进程检测哪些其他服务正在运行并在同一台机器上注册为 HttpListeners?他们都共享这样的公
我正在编写一个类似于 HFS 的应用程序,它是一个 HTTP 文件服务器,在 HTML/CSS/JS 中具有自定义主题,我我希望能够在多个部分提供我的文件,因为大多数下载管理器通过多个连接连接到服务器
好吧,这是一个很长的问题,但我认为这是值得的。我们拥有的: 一个示例虚拟 C# 控制台应用程序,启动自托管的 owin ASP.Net WebAPI 服务(Microsoft.AspNet.Web
我必须建立一个 HttpListener 来等待客户端服务器发出的请求。我必须在端口 8088 上接收该请求并提取查询字符串。这是简单的部分。 我在 Windows 服务中运行 HttpListene
这个问题在这里已经有了答案: Handling multiple requests with C# HttpListener (3 个答案) 关闭 8 年前。 我有这个 HttpListener,它
我在这里遇到一个问题,与 HttpListener 有关。 当一个请求的形式 http://user:password@example.com/ 制作完成,如何获取用户名和密码?HttpWebRequ
我是一名优秀的程序员,十分优秀!